加载值后,TimePicker值不会更改属性

时间:2014-03-07 19:40:56

标签: c# .net xaml windows-phone-8 windows-phone-toolkit

我的设置页面上有TimePicker来自Windows Phone Toolkit的控件:

<toolkit:TimePicker x:Name="DayStartTimePicker" ValueStringFormat="{}{0:t}"></toolkit:TimePicker>

它工作正常,直到我想加载以前保存的值

DayStartTimePicker.Value = SomeDateTimeValue;

在此之后,我可以点击控件并选择时间,但在确认后,字段的值保持不变(它有SomeDateTime时间,但不是我选择的时间。

我想我错过了一些东西,但我在互联网上找不到任何东西来解决这个问题。

1 个答案:

答案 0 :(得分:1)

在您的方案中,在DayStartTimePicker.Value = SomeDateTimeValue;事件中调用Loaded,每次打开页面时调用,即当TimePicker关闭并执行返回此页面时,所选的值为被旧的覆盖。您必须在页面构造函数中设置默认值:

// page constructor
Dispatcher.BeginInvoke(() =>
{
    // will be called in first frame render, i.e when page is loaded and builded
    DayStartTimePicker.Value = SomeDateTimeValue;
});