XamlParseException试图绑定的Windows 10日期CalendarDatePicker
问题描述:
我想给CalendarDatePicker的日期属性与在Windows 10通用的应用一个DateTime属性绑定:XamlParseException试图绑定的Windows 10日期CalendarDatePicker
<CalendarDatePicker
Date="{Binding ClientDetailsViewModel.BirthDate,
Converter={StaticResource DateTimeToDateTimeOffsetConverter} }"
Foreground="{StaticResource TextGreyBrush}" />
我收到以下异常而图初始化:
类型的异常“Windows.UI.Xaml.Markup.XamlParseException” 发生KLMMobile.UI.exe但在用户代码中没有处理
WinRT的信息:无法分配财产 'Windows.UI.Xaml.Controls.CalendarDatePicker.Date'。 [行:93 位置:41]
我与的DatePicker测试,它完美地工作。
答
经过大量的努力,试图将日期进行绑定,我通过使用DateChanged触发,并应在开始时显示的属性结合的PlaceHolderText克服了这个问题。
<CalendarDatePicker
PlaceholderText="{Binding UpdateWorkingTimeModel.StartTime, Converter={StaticResource TicksToDateTimeConverter}, ConverterParameter='dd.MM.yyyy', Mode=TwoWay}">
<interactivity:Interaction.Triggers>
<interactivity:EventTrigger EventName="DateChanged">
<interactivity:InvokeCommandAction Command="{Binding DatePickedCommand}"/>
</interactivity:EventTrigger>
</interactivity:Interaction.Triggers>
</CalendarDatePicker>
CalendarDatePicker.Date是'Nullable'而DatePicker.Date是'DateTimeOffset'。它不应该的问题,一般,但结合时比较类型时绑定可以不考虑隐含的铸造性(或东西:/)。更改DateTimeToDateTimeOffsetConverter返回一个可空的DateTimeOffset,或创建一个新的版本,那么,看看是否有帮助。 –
Will
我试过了,但没有奏效。实际上它没有到达转换器。其实即使我设置回代码日期TestCalendarDatePicker.Date = DateTimeOffset.Now;它不工作 – Stam