【发布时间】:2012-06-14 05:26:26
【问题描述】:
我正在尝试将 DateTime? 属性用作 DependencyProperty,以便我可以在 Metro 风格应用程序的 XAML 中绑定它。
但是,当应用程序运行时(在调试模式下),我收到绑定错误,并且日期未显示在我的控件中:
错误:转换器无法转换“System.DateTime”类型的值, mscorlib,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089' 输入 'DateTime>'; BindingExpression:路径='Model.Date' DataItem='MyProject.Common.ViewModel.TransactionViewModel, MyProject, 版本=1.0.0.0,文化=中性,PublicKeyToken=null';目标元素 是'MyProject.Controls.DatePicker'(名称='null');目标属性是 'SelectedValue'(输入 'DateTime>')。
依赖属性定义如下:
public static readonly DependencyProperty SelectedValueProperty =
DependencyProperty.Register("SelectedValue",
typeof (System.Nullable<System.DateTime>),
typeof(DatePicker),
PropertyMetadata.Create(default(DateTime?)));
在XAML页面中,用作:
<local:DatePicker
Margin="0,10"
SelectedValue="{Binding Model.Date, Mode=TwoWay}"
FontSize="21.333"/>
关于如何解决此问题并获取控件中显示的日期并双向绑定的任何想法?
【问题讨论】:
标签: c# xaml windows-8 microsoft-metro winrt-xaml