コード例 #1
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is AlarmGrade || value is int)
            {
                AlarmGrade grade = (AlarmGrade)((int)value & 0x00ffff00); //兼容历史数据没有去除后8位
                if ((AlarmGrade)value == AlarmGrade.DisConnect)           //DisConnect没有在中间8位
                {
                    grade = AlarmGrade.DisConnect;
                }
                switch (grade)
                {
                case AlarmGrade.Invalid: return("无效");

                case AlarmGrade.HighNormal:
                case AlarmGrade.LowNormal: return("正常");

                case AlarmGrade.HighPreAlarm:
                case AlarmGrade.LowPreAlarm: return("预警");

                case AlarmGrade.HighAlarm:
                case AlarmGrade.LowAlarm: return("警告");

                case AlarmGrade.HighDanger:
                case AlarmGrade.LowDanger: return("危险");

                case AlarmGrade.DisConnect: return("断线");

                default: return("");
                }
            }
            return(null);
        }
コード例 #2
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is AlarmGrade || value is int)
            {
                AlarmGrade grade = (AlarmGrade)((int)value & 0x00ffff00); //兼容历史数据没有去除后8位
                if ((AlarmGrade)value == AlarmGrade.DisConnect)           //DisConnect没有在中间8位
                {
                    grade = AlarmGrade.DisConnect;
                }
                switch (grade)
                {
                case AlarmGrade.Invalid: return(new SolidColorBrush(Color.FromRgb(0x00, 0x80, 0x00)));   //绿色

                case AlarmGrade.HighNormal:
                case AlarmGrade.LowNormal: return(new SolidColorBrush(Color.FromRgb(0x00, 0x80, 0x00)));   //绿色

                case AlarmGrade.HighPreAlarm:
                case AlarmGrade.LowPreAlarm: return(new SolidColorBrush(Color.FromRgb(0xff, 0xff, 0x00)));   //黄色

                case AlarmGrade.HighAlarm:
                case AlarmGrade.LowAlarm: return(new SolidColorBrush(Color.FromRgb(0xff, 0xa5, 0x00)));   //橙色

                case AlarmGrade.HighDanger:
                case AlarmGrade.LowDanger: return(new SolidColorBrush(Color.FromRgb(0xff, 0x00, 0x00)));  //红色

                case AlarmGrade.DisConnect: return(new SolidColorBrush(Color.FromRgb(0x00, 0x80, 0x00))); //绿色

                default: return(new SolidColorBrush(Color.FromRgb(0x00, 0x80, 0x00)));                    //绿色
                }
            }
            return(new SolidColorBrush(Color.FromRgb(0x00, 0x80, 0x00)));//绿色
        }
コード例 #3
0
        private string JudgeAlarmType(int alarmType)
        {
            string     alarmTypeStr = string.Empty;
            AlarmGrade consts       = (AlarmGrade)(alarmType & 0x00ffff00);

            //int dynamic = alarmType & 0X0C;
            //int comparative = alarmType & 0X30;
            switch (consts)
            {
            case AlarmGrade.LowPreAlarm:
            case AlarmGrade.HighPreAlarm:
                alarmTypeStr += "常数报警:预警";
                break;

            case AlarmGrade.LowAlarm:
            case AlarmGrade.HighAlarm:
                alarmTypeStr += "常数报警:警告";
                break;

            case AlarmGrade.LowDanger:
            case AlarmGrade.HighDanger:
                alarmTypeStr += "常数报警:危险";
                break;
            }
            //switch (dynamic)
            //{
            //    case 8:
            //        alarmTypeStr += "\r\n" + "曲线报警:警告";
            //        break;
            //    case 12:
            //        alarmTypeStr += "\r\n" + "曲线报警:危险";
            //        break;
            //}
            //switch (comparative)
            //{
            //    case 32:
            //        alarmTypeStr += "\r\n" + "相对报警:警告";
            //        break;
            //    case 48:
            //        alarmTypeStr += "\r\n" + "相对报警:危险";
            //        break;
            //}
            return(alarmTypeStr);
        }
コード例 #4
0
        public static string Convert(AlarmGrade grade)//后台代码使用
        {
            switch (grade)
            {
            case AlarmGrade.Invalid: return("无效");

            case AlarmGrade.HighNormal:
            case AlarmGrade.LowNormal: return("正常");

            case AlarmGrade.HighPreAlarm:
            case AlarmGrade.LowPreAlarm: return("预警");

            case AlarmGrade.HighAlarm:
            case AlarmGrade.LowAlarm: return("警告");

            case AlarmGrade.HighDanger:
            case AlarmGrade.LowDanger: return("危险");

            case AlarmGrade.DisConnect: return("断线");
                //default:return grade.ToString();
            }
            return(null);
        }
コード例 #5
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (parameter is string)
            {
                string para = parameter as string;
                if (value is AlarmGrade || value is int)
                {
                    AlarmGrade grade = (AlarmGrade)((int)value & 0x00ffff00); //兼容历史数据没有去除后8位
                    if ((AlarmGrade)value == AlarmGrade.DisConnect)           //DisConnect没有在中间8位
                    {
                        grade = AlarmGrade.DisConnect;
                    }
                    switch (grade)
                    {
                    case AlarmGrade.Invalid:
                    {
                        if (para == "0")
                        {
                            return(100);
                        }
                        else
                        {
                            return(0);
                        }
                    }

                    case AlarmGrade.HighNormal:
                    case AlarmGrade.LowNormal:
                    {
                        if (para == "0")
                        {
                            return(100);
                        }
                        else
                        {
                            return(0);
                        }
                    }

                    case AlarmGrade.HighPreAlarm:
                    case AlarmGrade.LowPreAlarm:
                    {
                        if (para == "1")
                        {
                            return(100);
                        }
                        else
                        {
                            return(0);
                        }
                    }

                    case AlarmGrade.HighAlarm:
                    case AlarmGrade.LowAlarm:
                    {
                        if (para == "2")
                        {
                            return(100);
                        }
                        else
                        {
                            return(0);
                        }
                    }

                    case AlarmGrade.HighDanger:
                    case AlarmGrade.LowDanger:
                    {
                        if (para == "3")
                        {
                            return(100);
                        }
                        else
                        {
                            return(0);
                        }
                    }

                    case AlarmGrade.DisConnect:
                    {
                        if (para == "0")
                        {
                            return(100);
                        }
                        else
                        {
                            return(0);
                        }
                    }

                    default:
                    {
                        if (para == "0")
                        {
                            return(100);
                        }
                        else
                        {
                            return(0);
                        }
                    }
                    }
                }
            }

            return(0);//绿色
        }