wpf - 如何将 DateTime 的默认值设置为空字符串?

标签 wpf datetime datagrid datatrigger

我有一个名为 Raised_Time 的属性,该属性显示在数据网格单元中引发警报的时间。当用户创建任何警报时,我不想在数据网格单元格中显示任何内容,它只显示空单元格。

我在互联网上搜索,发现可以使用 DateTime.MinValue 设置 DateTime 的默认值,这将显示日期时间的 MinValue,即“1/1/0001 12:00:00 AM”。

相反,我希望 datagrid 单元格保持空白,直到发出警报,它不会在任何时间显示。

我认为在这种情况下可以编写 datatrigger。我无法为这种情况编写数据触发器。我是否还需要一个转换器来检查 DateTime 是否设置为 DateTime.MinValue 并将数据网格单元格留空?

请帮忙!!

最佳答案

我会为此使用转换器,因为我可以很容易地看到将来重用它。这是我曾经使用的一个,它将 DateFormat 的字符串值作为 ConverterParameter。

public class DateTimeFormatConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if ((DateTime)value == DateTime.MinValue)
            return string.Empty;
        else
            return ((DateTime)value).ToString((string)parameter);
    }


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

关于wpf - 如何将 DateTime 的默认值设置为空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3658501/

相关文章:

powershell - 如何在 PowerShell 中将 Ticks 字符串转换为日期时间?

c# - WPF DataGrid - 遍历行并访问模板列中的控件

wpf - 为什么 ComboBox 是下拉菜单导致整个应用程序性能非常慢?

c# - 在 C# WPF 中使用 Datacontext 填充数据网格

wpf - 在 View 模型中包含 WPF 细节的优缺点

c# - 在WPF中如何防止ScrollViewer内的控件展开

wpf - 设置 WPF DataGrid 样式以在有 0 个项目时显示红色边框

wpf - 在 wpf 中如何处理由使用该用户控件的页面中的用户控件内的按钮引发的事件

javascript - 无法使用 javascript 中的 Date() 方法获得预期结果

powershell - 使用 UniversalTime 在 PowerShell 中处理纪元时间