Caliburn.Micro将DateTimeOffset绑定到DatePicker

时间:2015-08-12 15:07:04

标签: c# wpf mvvm datepicker caliburn.micro

我需要将DateTimeOffset属性绑定到WPF DatePicker,因为Odata不支持DateTime。 我知道如何绑定DateTime属性。

我尝试将DateTimeOffset属性绑定到DatePicker,与绑定DateTime属性绑定一样。

但价值根本没有变化。它始终具有默认值。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

尝试使用此值转换器。

public class DateTimeToDateTimeOffsetConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
            DateTimeOffset dto = (DateTimeOffset)value;
            return dto.DateTime;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
            DateTime date = (DateTime)value;
            return new DateTimeOffset(date);
    }
}

我基于以下解决方案:http://bretstateham.com/binding-to-the-new-xaml-datepicker-and-timepicker-controls-to-the-same-datetime-value/

答案 1 :(得分:0)

按照Jack的建议将其转换为DateTime。要避免注释中描述的错误,请将BindingMode设置为OneWay     “{Binding Path = MyProperty,Mode = OneWay}”