我有一个绑定到自定义对象的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;?
答案 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列进行比较,返回您想要的结果。