using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Data; namespace BPASmartClient.SCADAControl.Converters { [ValueConversion(typeof(bool), typeof(Visibility))] public class BoolToVisibilityConverter : IValueConverter { static BoolToVisibilityConverter() { Instance = new BoolToVisibilityConverter(); } public static BoolToVisibilityConverter Instance { get; private set; } public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return ((bool)value) ? Visibility.Visible : Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } } public class JTokenToBoolConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value == null) return value; else { Newtonsoft.Json.Linq.JToken mj = (value as Newtonsoft.Json.Linq.JToken); if (mj.Type == JTokenType.Boolean) return ((bool)mj); else if (mj.Type == JTokenType.Integer) return ((int)mj); else if (mj.Type == JTokenType.Float) return ((float)mj); else if(mj.Type == JTokenType.String) return ((string)mj); else return mj.ToString(); } } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { Newtonsoft.Json.Linq.JToken jToken = (value as Newtonsoft.Json.Linq.JToken); return jToken; } } }