我有一个绑定到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"/
答案 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`类,以您希望格式化日期格式化日期。