这可能是https://stackoverflow.com/questions/3662506/set-the-default-date-of-wpf-date-picker-to-current-date的重复,但我已经尝试了问题中的代码,但它不起作用,希望我错过了一些简单的东西
好的,正如问题所述,我想显示视图加载时的当前日期,但是,我的SelectedDate属性被限制在我的属性上,我认为您不能使用"Text“,因为我绑定到的属性是DateTime属性。是的,我可以在模型中进行转换,但是XAML (我认为)应该能够为我做到这一点。
好的,我知道问题是什么,因为日期是"01/01/0001“,因为它绑定到我的属性,默认为01/01/0001,所以我想我需要在我的属性中做一些C#代码来说明它是否是01/01/0001,使用DateTime.Now,如果不是,使用该属性。
XAML
<DatePicker HorizontalAlignment="Left"
DisplayDate="{x:Static System:DateTime.Now}"
SelectedDate="{Binding AvailableFrom, Mode=TwoWay}"
Margin="139,58,0,0"
VerticalAlignment="Top"
Width="120"/>
如果大代表认为这是个复制,我很乐意删除它,
我所做的决定..。
get
{
if (m_AvailableFrom == DateTime.MinValue)
return DateTime.Now;
return m_AvailableFrom;
}
为帮助干杯
发布于 2014-05-02 15:19:36
我个人只会在DateTime.Now
代码中将AvailableFrom
属性分配给ViewModel属性。
但是,如果要使用XAML,一个选项是将AvailableFrom
属性设置为DateTime?
(可空DateTime),而不是DateTime
。则默认值为null,而不是"01/01/0001“。
然后,在您的XAML中可以使用
xmlns:System="clr-namespace:System;assembly=mscorlib"
<DatePicker
HorizontalAlignment="Left"
SelectedDate="{Binding
Path=AvailableFrom,
Mode=TwoWay,
TargetNullValue={x:Static System:DateTime.Now}}"
Margin="139,58,0,0"
VerticalAlignment="Top"
Width="120" />
当AvailableFrom
为null时,UI将显示当前日期。
发布于 2015-08-19 18:43:40
下面的SelectedDate属性的MSDN链接显示它是可空的。我认为,如果没有设置DateTime.Now,而不是返回null,而是像其他带有可空字段的控件一样,它将不显示任何内容。
发布于 2014-06-26 06:44:40
<DatePicker HorizontalAlignment="Left"
SelectedDate="{Binding AvailableFrom, Mode=TwoWay}"
DisplayDate="{Binding DateTime.Now}"
Margin="139,58,0,0"
VerticalAlignment="Top"
Width="120"/>
*在DisplayDate之后使用SelectedDate
请记住,如果这有用的话,谢谢!
https://stackoverflow.com/questions/23430106
复制相似问题