【发布时间】:2013-05-22 05:04:19
【问题描述】:
在我的 View.xaml 中,我有一个 DatePicker 绑定到 ViewModel 的 Date 属性
<DatePicker SelectedDate="{Binding Path=Date, Mode=TwoWay, Converter={StaticResource IfNullDateConverter}}" />
当 View.xaml 显示“IfNullConverter”用于将默认 DateTime 值“01.01.0001”转换为 DateTime.Now 时,DatePicker 显示当前日期。但实际上未设置 SelectedDate 属性。为什么?
当我按下保存按钮时,传递给 ViewModel 的 DatePicker 值仍然是“01.01.0001”。
请帮忙,我做错了什么?如果日期是“01.01.0001”,我如何更新我的源代码以传递当前日期?
IfNullDateConverter
DateTime dateValue = (DateTime)value;
if (dateValue.ToShortDateString() == "01.01.0001")
{
return DateTime.Now;
}
else
{
return value;
}
【问题讨论】:
-
你的视图数据上下文设置了吗?
-
是的,因为当我在 DatePicker 中手动选择日期时,它确实会更新为 ViewModel。问题是如果我不手动设置它,它不会在启动时更新
标签: wpf binding datepicker