转换器无法将类型 'system.datetime' 的值转换为 windows phone 中的类型 'datetime' 8.1 Datepicker

Converter failed to convert value of type 'system.datetime' to type 'datetime' in windows phone 8.1 Datepicker

我正在使用 MVVM 模式创建 windows phone 8.1 应用程序。我使用了 datepicker,我想在 viewModel 中获取 datepicker 的值(日期),所以我在 viewModel 中将其与 属性 绑定。在 运行 这个应用程序之后,我在 Visual Studio 的输出 window 中收到错误。

错误:转换器无法将类型 'System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' 的值转换为类型 'DateTime'; BindingExpression: Path='Date' DataItem='App1.ViewModel.MainViewModel';目标元素是 'Windows.UI.Xaml.Controls.DatePicker' (Name='null');目标 属性 是 'Date'(类型 'DateTime')。

这是我的, Xaml 视图:

<DatePicker Grid.Row="1" Grid.Column="1"
                VerticalContentAlignment="Center"
                HorizontalContentAlignment="Center"
                HorizontalAlignment="Left"
                VerticalAlignment="Center" Margin="26,-0.333,0,0.5"
                Date="{Binding Date}"
                />

视图模型属性:

 private DateTime _date;
    public DateTime Date
    {
        get { return _date; }
        set
        {
            _date = value; 
            RaisePropertyChanged();
        }
    }

谁能帮我解决这个错误。

Date 属性 的 DatePickerDateTimeOffset (MSDN)

这意味着您不能直接 将它绑定到 DateTime 对象,因为不存在转换。但是,DateTimeOffset 有一个方便的 属性,DateTime (MSDN) 即 一个 DateTime.

所以只需将您的绑定更改为:

Date="{Binding Date.DateTime}"

或绑定 DateTimeOffset 属性 并稍后自行转换。