使用WPF的日期转换器

public class DateTimeConverter : IValueConverter { #region IValueConverter Members public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (values != null) { DateTime test = (DateTime) value ; string date = test.ToString("d/M/yyyy"); return (date); } return string.Empty; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } #endregion } 

我有这个转换器,我从DataPicker中选择日期后获取当前时间。 在字符串日期我得到从DatePicker中选择的值,但我似乎只能得到日期。 进入Value属性的fromate是9/24/2013 12:00:00我希望它是9/24/2013。 我已经在日期时间转换器WPF上问了一个问题simmlair,但没有提供给我工作的答案。 我得到相同的错误指定演员无效。

你不需要转换器来做这件事。 您可以使用StringFormat绑定自身来格式化您选择的日期时间,以mm / dd / yyyy格式显示日期。

  

我测试了这段代码,它工作正常。 XAML:

                     

模型:

  public class TestData { DateTime start; public DateTime Start { get { return start; } set { start = value; } } } 

ViewModel具有要绑定到DataGrid的TestData列表:

 public List TestList { get; set; }