0

我做了一個Windows Phone 7.8應用程序,我使用的是日期選擇器。 當我加載包含日期選擇器的頁面,我通過日期和顯示correctly.My代碼:Windows Phone DatePicker不更新其值

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 

但是,當我試圖改變日期,日期選擇器不成立的新日期。有人知道爲什麼嗎?

+0

字符串中的日期格式如何?你在運行什麼文化?這可能是標準的'Date.Parse'無法識別爲字符串。 – ChrisF 2013-03-23 14:54:11

+0

不是這樣。即使我設置了:datePicker.Value = Date.now來獲取當前日期,它也會做同樣的事情。 – 2013-03-23 15:15:38

+0

我現在遠離我的代碼,但我相信你會需要'e'對象的'NavigationMode'屬性。僅在新導航中設置DatePicker。 – 2013-03-24 05:28:26

回答

1

您的問題是由於您未正確管理頁面生命週期的方式。

當你去日期選擇器這實際上是一個單獨的頁面。點擊「打勾」以確認新的數據選擇,您將返回到您的頁面。根據上面的代碼,此時您將再次加載NavigationContext中的日期,因此所選日期將丟失。

解決的辦法是查詢NavigationEventArgs,只有當NavigationModeNew時纔讀取查詢字符串。

+0

謝謝你的答案! – 2013-03-28 08:56:36

+0

@JossuaLim很高興你覺得這個答案有用。這裏的禮儀是接受(&upvote)有用的答案。 http://stackoverflow.com/faq#howtoask – 2013-03-28 15:08:18