0

我制作了一个 Windows Phone 7.8 应用程序,并且正在使用日期选择器。当我加载包含日期选择器的页面时,我传递了日期并正确显示。我的代码是:

Protected Overrides Sub OnNavigatedTo(ByVal e As System.Windows.Navigation.NavigationEventArgs)

 Dim mydate As String = Nothing
 If NavigationContext.QueryString.TryGetValue("date", mydate) Then
   eventdate = Date.Parse(mydate)
   datePicker.Value = eventdate
EndIf

End Sub

但是当我尝试更改日期时,日期选择器不会保留新日期。有人知道为什么吗?

4

1 回答 1

1

您的问题是由于您没有正确管理页面生命周期的方式。

当您转到日期选择器时,这实际上是一个单独的页面。当点击“勾号”以确认新数据选择时,您将返回您的页面。根据您上面的代码,此时您将NavigationContext再次加载日期,因此所选日期丢失。

解决方案是查询并且仅在isNavigationEventArgs时读取查询字符串。NavigationModeNew

于 2013-03-25T14:06:58.580 回答