Beispiel #1
0
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if (values == null || values.Contains(null) || values.Contains(DependencyProperty.UnsetValue))
            {
                return(0);
            }
            if (!(values[0] is ParamerusPMBusDevice) || !(values[1] is LogicLevelResult))
            {
                return(0);
            }

            ParamerusPMBusDevice dev = values[0] as ParamerusPMBusDevice;
            LogicLevelResult     stat_control_line = dev.ControlLine;

            if (!stat_control_line.Success)
            {
                return(0);
            }
            if (stat_control_line.Level == LogicLevel.Low)
            {
                return(0);
            }
            else
            {
                return(1);
            }
        }
Beispiel #2
0
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if (values.Contains(null) || values.Contains(DependencyProperty.UnsetValue))
            {
                return(Brushes.Red);
            }

            LogicLevelResult res = values[1] as LogicLevelResult;

            if (!res.Success || res.Level == LogicLevel.Low)
            {
                return(Brushes.Red);
            }

            bool isWarningBitSet = false;

            for (int i = 2; i < values.Length; i++)
            {
                BitStatus bs = (BitStatus)values[i];
                switch (bs)
                {
                case BitStatus.Fault:
                    return(Brushes.Red);

                case BitStatus.Warning:
                    isWarningBitSet = true;
                    break;

                default:
                    break;
                }
            }
            if (isWarningBitSet)
            {
                return(Brushes.Orange);
            }
            return(Brushes.Green);
        }