WPF中的DatePicker显示01.01.0001,而不是今天

时间:2019-01-04 18:29:14

标签: c# wpf datepicker wpf-controls

我试图在日期选择器中设置今天的日期:

<DatePicker Height="25" SelectedDate="{x:Static sys:DateTime.Now}" Grid.Row="10" HorizontalAlignment="Left" Margin="10 0 0 0" Name="BornDate" VerticalAlignment="Top" Width="115" Text = "{Binding UserBornDate, Mode = OneWay}" DisplayDateStart="2019-01-04"/>

但是当我启动我的应用程序时,它一直显示01.01.0001

2 个答案:

答案 0 :(得分:2)

这可能是由于控件的Text属性与属性UserBornDate的绑定所致:

Text = "{Binding UserBornDate, Mode = OneWay}"

DateTime的默认值为01/01/0001,因此只需尝试将值设置为UserBornDate

希望有帮助!

答案 1 :(得分:0)

我在XAML的Datepicker上苦苦挣扎了两天,总是将01-01-0001作为默认日期。

我在Stackoverflow和其他地方查看了许多解决方案。我找不到解决方案。终于在MSDN上找到了答案。

我在这里没有给出完整的代码,而只是给出了相关部分。

模型(GRNHeader.cs) 可空的DateTime grnDate {get; set;}

ViewModel

        selectedGRN = new GRNHeader();
        selectedGRN.grnDate = DateTime.Today;

XAML

DatePicker x:Name="GRNDate" Margin="0,5,0,0" SelectedDate="{Binding selectedGRN.grnDate ,Mode=TwoWay, TargetNullValue=''}" 

按预期工作。

最重要的是在模型中将DatePicker的绑定变量声明为可空Datetime