WP Toolkit DatePicker不会更新值

时间:2013-08-22 02:06:54

标签: debugging windows-phone-8 datepicker

因此,在开发适用于Windows Phone 8的应用程序时,我遇到了使用该工具包的以下问题。

编辑:以下是重现问题的页面的完整代码:

<phone:PhoneApplicationPage
    x:Class="TestPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
     xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    mc:Ignorable="d"
    shell:SystemTray.IsVisible="True">

    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <toolkit:DatePicker x:Name="MyDate" />
    </Grid>

</phone:PhoneApplicationPage>

这看起来正确,并允许用户选择日期,但永远不会更新其值。点击它后,您将看到日期选择页面。无论你在这个页面上做什么,当你返回时,DatePicker都会被设置回今天的日期。

我在另一个页面上成功使用了DatePicker。这是在我遇到此问题的特定页面上。

我真正的问题是,如何调试此元素的行为?如何在选择其他日期时确定导致元素不更新的原因?

编辑2: 显然,我的应用程序还有其他功能。因此我需要调试一个正在运行的元素,或者至少找出它为什么没有按照我的预期行事。

2 个答案:

答案 0 :(得分:3)

所以我遇到的问题是我的页面的OnNavigatedTo事件中有初始化代码。

每次使用DatePicker选择日期时,实际上都是导航到新页面。确认日期选择后,您将导航回原始页面。由于我的初始化代码在OnNavigatedTo事件中,这意味着每次选择日期时页面都会重新初始化。

答案 1 :(得分:0)

根据具体情况,我通常会检查OnNavigaterTo事件中的e.NavigationMode参数,并在我从listpicker / datepicker返回时返回:

  if (e.NavigationMode == NavigationMode.Back)
                return;