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); }
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)));//绿色 }
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); }
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); }
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);//绿色 }