显示Null或默认DateTime值为"空白"或WPF数据网格中的NA

时间:2015-01-22 01:41:09

标签: c# wpf datetime datagrid

我有一个绑定到自定义对象的ObservableCollection的数据网格。其中一列绑定到DateTime属性,并且许多对象具有最小DateTime值。

在我的DataGrid中,这是我的DateTime列的代码

<DataGridTextColumn Binding="{Binding Path=StartTime, StringFormat={}{0:MM/dd/yyyy hh:mm:ss tt}}" Header="Start Time" Foreground="Black" Width="2*"/>

如何应用带有数据模板的样式或可显示的样式&#34; - &#34;或&#34; NA&#34;如果日期是&#34; 1/1/1753 12:00:00 AM&#34;或&#34; 1/1/0001 12:00:00 AM&#34;?

1 个答案:

答案 0 :(得分:5)

使用转换器,例如:

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    if (value != null && value is DateTime && (DateTime)value < new DateTime(2, 1, 1))
    {
        return "NA";
    }
    else
        return value;
}

您应该设置最小/默认DateTime值或列表并与DateTime列进行比较,返回您想要的结果。