123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- using Newtonsoft.Json.Linq;
- namespace HistoryView.Converters;
- public class Mini8StatusToBrush : IValueConverter
- {
- public object? Convert(object value, Type targetType, object parameter, CultureInfo culture)
- {
- if (value is not Mini8Status status)
- return default;
- return parameter switch
- {
- "Light" => status switch
- {
- Mini8Status.Error => App.Current.Resources["LightEmergencyColor"],
- Mini8Status.Warning => App.Current.Resources["LightWarningColor"],
- Mini8Status.LostConnection => App.Current.Resources["LightWarningColor"],
- Mini8Status.Normal => App.Current.Resources["LightNormalColor"],
- Mini8Status.Disabled => App.Current.Resources["LightDisableColor"],
- _ => App.Current.Resources["LightDisableColor"],
- },
- _ => status switch
- {
- Mini8Status.Error => App.Current.Resources["EmergencyColor"],
- Mini8Status.Warning => App.Current.Resources["WarningColor"],
- Mini8Status.LostConnection => App.Current.Resources["WarningColor"],
- Mini8Status.Normal => App.Current.Resources["NormalColor"],
- Mini8Status.Disabled => App.Current.Resources["DisableColor"],
- _ => App.Current.Resources["DisableColor"],
- },
- };
- }
- public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
- {
- throw new NotImplementedException();
- }
- }
- public class Mini8StatusToBrushMulti : IMultiValueConverter
- {
- public object? Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
- {
- if (values is null || values.Length < 2)
- return default;
- if (values[0] is not Mini8Status status)
- return default;
- if (values[1] is not bool isConnected)
- return default;
- if (status==Mini8Status.Disabled)
- {
- return parameter switch
- {
- "Light" => App.Current.Resources["LightDisableColor"],
- _ => App.Current.Resources["DisableColor"],
- };
- }
- if (!isConnected)
- {
- return parameter switch
- {
- "Light" => App.Current.Resources["LightWarningColor"],
- _ => App.Current.Resources["WarningColor"],
- };
- }
- return parameter switch
- {
- "Light" => status switch
- {
- Mini8Status.Error => App.Current.Resources["LightEmergencyColor"],
- Mini8Status.Warning => App.Current.Resources["LightWarningColor"],
- Mini8Status.LostConnection => App.Current.Resources["LightWarningColor"],
- Mini8Status.Normal => App.Current.Resources["LightNormalColor"],
- Mini8Status.Disabled => App.Current.Resources["LightDisableColor"],
- _ => App.Current.Resources["LightDisableColor"],
- },
- _ => status switch
- {
- Mini8Status.Error => App.Current.Resources["EmergencyColor"],
- Mini8Status.Warning => App.Current.Resources["WarningColor"],
- Mini8Status.LostConnection => App.Current.Resources["WarningColor"],
- Mini8Status.Normal => App.Current.Resources["NormalColor"],
- Mini8Status.Disabled => App.Current.Resources["DisableColor"],
- _ => App.Current.Resources["DisableColor"],
- },
- };
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
- {
- throw new NotImplementedException();
- }
- }
|