DateTime XAML绑定字符串格式,以便为DateTime.MinValue显示"null"

Dum*_*y01 5 c# data-binding wpf xaml

我对约会有约束力:

<TextBlock Text="{Binding Path=EndDateTime, StringFormat=d}"/>
Run Code Online (Sandbox Code Playgroud)

我想要的是当它的值是DateTime.MinValue(DateTime的默认值)时显示null而不是日期.

这可能使用转换器,只是通过某种方式扩展我的绑定的StringFormat属性?

是否还有其他XAML解决方案?

先感谢您!

Rac*_*hel 11

您可以在TextBlock的样式中使用DataTrigger

<TextBlock>
    <TextBlock.Style>
        <Style TargetType="TextBlock">
            <Setter Property="Text" Value="{Binding Path=EndDateTime, StringFormat=d}" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding EndDateTime}" Value="{x:Static sys:DateTime.MinValue}">
                    <Setter Property="Text" Value="NULL" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </TextBlock.Style>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)