ThickConverter.cs 1.4 KB
Newer Older
潘栩锋's avatar
潘栩锋 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Data;

namespace ThickTcpUiInWindow.Converter
{
    public class ThickConverter : IValueConverter
    {
        #region IValueConverter 成员

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            try
            {
                int thick = (int)value;
                if (Misc.MyBase.ISVALIDATA(thick))
                    return (thick / 100.0).ToString("F2");
                else
                    return "null";
            }
            catch
            {
                return "null";
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            try
            {
                double thick = 10;
                if (double.TryParse(value as string, out thick))
                {
                    thick = Math.Round(thick*100);//因为 16.9 * 100.0 = 1689.999999999999998, 所以只能这样。
                    return (int)thick;
                }
                else
                {
                    return Misc.MyBase.NULL_VALUE;
                }
            }
            catch
            {
                return Misc.MyBase.NULL_VALUE;
            }
        }

        #endregion
    }
}