WPF中的DateTime和Databinding - 前导零和空白标签

时间:2013-05-30 15:46:44

标签: c# wpf datetime

我有一个绑定到DateTime的WPF标签,我需要它从1/1/1开始。设置为1/1/1时,标签根本不显示。如果我更改任何数字,它会在年前显示前导零(1/2/0001)。在我使用WinForms之前,所有这些都运行良好。

有人知道在设置为1/1/1时如何显示标签和/或如何取消前导零?

此外,由于我希望使用虚构的时代,我还有其他可能尝试的方法吗?

DateTime _date = new DateTime(1, 1, 1);

public DateTime Date
    {
        get { return _date; }
        set
        {
            if (_date != value)
            {
                _date = value;
                RaisePropertyChanged(() => Date);
            }
        }
    }

来自我的XAML

Label Content="{Binding Date}" Style="{DynamicResource SimpleLabel}" FontFamily="Pericles" FontSize="16" VerticalAlignment="Top" HorizontalAlignment="Left"/

2 个答案:

答案 0 :(得分:6)

<TextBlock Text="{Binding Date, StringFormat=\{0:d\/M\/y\}}" />
<Label Content="{Binding Date}"
        ContentStringFormat="{}{0:d\/M\/y}" />

对我来说很好。请记住ContentStringFormat

Label

答案 1 :(得分:1)

您可以编写一个自定义'IValueConverter`类,以您希望格式化日期格式化日期。