| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using SWRIS.Models;
- using System;
- using System.Collections.ObjectModel;
- using System.Globalization;
- using System.Windows.Data;
- using System.Windows.Media;
- namespace SWRIS.Converters
- {
- public class ConnectivityFaultToColorConverter : IMultiValueConverter
- {
- private static readonly Color OnlineColor = Color.FromRgb(0x00, 0xFF, 0x78);
- private static readonly Color OfflineColor = Color.FromRgb(0x78, 0x86, 0xB2);
- private static readonly Color FaultColor = Color.FromRgb(0xFF, 0x00, 0x00);
- private static readonly SolidColorBrush OnlineBrush;
- private static readonly SolidColorBrush OfflineBrush;
- private static readonly SolidColorBrush FaultBrush;
- static ConnectivityFaultToColorConverter()
- {
- OnlineBrush = new SolidColorBrush(OnlineColor);
- OfflineBrush = new SolidColorBrush(OfflineColor);
- FaultBrush = new SolidColorBrush(FaultColor);
- OnlineBrush.Freeze();
- OfflineBrush.Freeze();
- FaultBrush.Freeze();
- }
- public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
- {
- if (values.Length < 3 ||
- !(values[0] is bool isConnected) ||
- !(values[1] is ObservableCollection<FaultDataModel> faults))
- {
- return OfflineBrush;
- }
- if (!isConnected)
- return OfflineBrush;
- if (faults != null && faults.Count > 0)
- return FaultBrush;
- return OnlineBrush;
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
- {
- throw new NotImplementedException();
- }
- }
- }
|