using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Data; namespace ThickTcpUiInWindow.Converter { public class Pos2mmConverter : IMultiValueConverter { #region IMultiValueConverter 成员 public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if ((values.Length == 2) && (values[0] is int) && (values[1] is double))//必须要检查,不然 界面生成器 会错误,提示转换异常 { int p = (int)values[0]; if (p == 99999998) p = 0; double mmpp = (double)values[1]; double mm = p * mmpp; return mm; } else { return 0; } } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture) { return null; } #endregion } public class Pos2mConverter : IMultiValueConverter { #region IMultiValueConverter 成员 public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if ((values.Length == 2) && (values[0] is int) && (values[1] is double))//必须要检查,不然 界面生成器 会错误,提示转换异常 { int p = (int)values[0]; if (p == 99999998) p = 0; double mmpp = (double)values[1]; double mm = p * mmpp; mm = mm / 1000; return mm; } else { return 0; } } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture) { return null; } #endregion } public class OutSpeed2mpminConverter : IMultiValueConverter { #region IMultiValueConverter 成员 public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if ((values.Length == 3) && ((values[0] is UInt32)||(values[0] is Int32)) && (values[1] is double) && (values[2] is double))//必须要检查,不然 界面生成器 会错误,提示转换异常 { int outspeed; if(values[0] is UInt32) outspeed = (int)((UInt32)values[0]); else outspeed = (int)(values[0]); double mmpp = (double)values[1]; double inpout = (double)values[2]; double mpmin = outspeed * inpout * mmpp / 1000 * 60; return mpmin; } else { return 0; } } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture) { return null; } #endregion } }