【发布时间】:2018-07-31 03:17:24
【问题描述】:
我正在尝试将 ViewModel 中的 DateTime 绑定到 calendarDatePicker,但它不起作用。我试过textbox 并且可以工作。
这部分有效:
<TextBox Text="{Binding MyDate}" ></TextBox>
这不是:
<CalendarDatePicker Date="{Binding MyDate}" />
【问题讨论】:
我正在尝试将 ViewModel 中的 DateTime 绑定到 calendarDatePicker,但它不起作用。我试过textbox 并且可以工作。
这部分有效:
<TextBox Text="{Binding MyDate}" ></TextBox>
这不是:
<CalendarDatePicker Date="{Binding MyDate}" />
【问题讨论】:
这个问题之前回答过here on MSDN。
根据文章,您可以使用Converter 将绑定转换为DateTimeOffset。转换器可能类似于以下内容,来自this post(由 MSDN 回答引用):
public class DateTimeToDateTimeOffsetConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
try
{
DateTime date = (DateTime)value;
return new DateTimeOffset(date);
}
catch (Exception ex)
{
return DateTimeOffset.MinValue;
}
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
try
{
DateTimeOffset dto = (DateTimeOffset)value;
return dto.DateTime;
}
catch (Exception ex)
{
return DateTime.MinValue;
}
}
}
【讨论】: