using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Data; namespace FLY.ControlLibrary.Converter { public class TimeSpan2MinConverter : IValueConverter { #region IValueConverter 成员 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { TimeSpan ts = (TimeSpan)value; return ts.TotalMinutes.ToString("N1"); } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string str = (string)value; double min; if (double.TryParse(str, out min)) { TimeSpan ts = new TimeSpan((long)(TimeSpan.TicksPerMinute * min)); return ts; } return new TimeSpan((long)(TimeSpan.TicksPerMinute * 8)); } #endregion } public class TimeSpan2SecConverter : IValueConverter { #region IValueConverter 成员 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { TimeSpan ts = (TimeSpan)value; return ts.TotalSeconds.ToString("N0"); } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string str = (string)value; double sec; if (double.TryParse(str, out sec)) { TimeSpan ts = TimeSpan.FromSeconds(sec); return ts; } return TimeSpan.FromSeconds(4); } #endregion } public class TimeSpan2MinSecConverter : IValueConverter { #region IValueConverter 成员 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { TimeSpan ts = (TimeSpan)value; if (ts.TotalHours > 1) { return ts.ToString(); } else { return ts.Minutes.ToString("D2") + ":" + ts.Seconds.ToString("D2"); } } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string str = (string)value; double min; if (double.TryParse(str, out min)) { TimeSpan ts = new TimeSpan((long)(TimeSpan.TicksPerMinute * min)); return ts; } return new TimeSpan((long)(TimeSpan.TicksPerMinute * 8)); } #endregion } public class TimeSpan2msConverter : IValueConverter { #region IValueConverter 成员 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { TimeSpan ts = (TimeSpan)value; return ts.TotalMilliseconds.ToString("N0"); } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string str = (string)value; int ms; if (int.TryParse(str, out ms)) { TimeSpan ts = new TimeSpan((long)(TimeSpan.TicksPerMillisecond * ms)); return ts; } return new TimeSpan((long)(TimeSpan.TicksPerMillisecond * 1000)); } #endregion } }