0

我有一些 Windows 框架演示应用程序。

后台工作人员完成的所有操作。我正在尝试选择日期。

DateTime StartDate = DateTime.MinValue;
StartOfferDatePicker.Dispatcher.Invoke(
    new Action(delegate()
    {
        StartDate = StartOfferDatePicker.GetValue(DatePicker.SelectedDateProperty);
    }
));

我得到错误Can not imlicitly convert an 'object' to System.DateTime

4

2 回答 2

1

好吧,不......声明的返回类型GetValue只是object. 如果该值实际上是aDateTime你应该能够转换:

StartDate = (DateTime) StartOfferDatePicker.GetValue(DatePicker.SelectedDateProperty);

请注意,这与Dispatcher.Invoke. 如果您在事件处理程序中有相同的代码,您会看到完全相同的问题。

但是,仅使用该SelectedDate属性可能更简单:

StartDate = StartOfferDatePicker.SelectedDate.Value;

.Value部分是因为SelectedDate是 type Nullable<DateTime>。当然,如果没有选择日期,这会很成功——你应该考虑一下你想如何处理它。(也许你的StartDate变量应该是一个Nullable<DateTime>。)

于 2013-07-30T07:46:27.720 回答
0

您可以使用 StartDate = StartOfferDatePicker.SelectedDate.Value.Date;

于 2013-07-30T07:48:07.377 回答