gpt4 book ai didi

c# - 如何格式化绑定(bind)的 wpf 数据网格文本列以不显示新的 DateTimes?

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:39 26 4
gpt4 key购买 nike

我有一个列绑定(bind)到我的对象的属性。 LastRunDate 属性是一个日期时间。在默认/启动时,它显示日期为 1/1/1 12:00 AM。

我的 XAML 中是否有一种方法可以格式化我的日期,如果我有这个值的日期,而不是显示字符串“无”甚至空白?有什么办法可以将它放入我的字符串格式中吗?

现在是 XAML:

       <DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" Header="Name" />
<DataGridTextColumn Binding="{Binding SourceServerName}" Header="Server Source" />
<DataGridTextColumn Binding="{Binding SourceDataBaseName}" Header="Database" />
<DataGridTextColumn Binding="{Binding LastRunTime, StringFormat={}\{0:MM/dd/yyyy hh:mm\}}" Header="Last Run Time" />
</DataGrid.Columns>

最佳答案

转换器:

class DateTimeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is DateTime)
{
var test = (DateTime)value;
if (test == DateTime.MinValue)
{
return "None";
}
var date = test.ToString("MM/dd/yyyy hh:mm");
return (date);
}

return string.Empty;
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

XAML:

<DataGrid ItemsSource="{Binding Items}">
<DataGrid.Resources>
<stackOverflow:DateTimeConverter x:Key="DateTimeConverter"/>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding LastRunTime, Converter={StaticResource DateTimeConverter}}" Header="Last Run Time" />
</DataGrid.Columns>
</DataGrid>

关于c# - 如何格式化绑定(bind)的 wpf 数据网格文本列以不显示新的 DateTimes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31687221/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com