0

在Windows Phone應用程序中,頁面被導航到另一頁面,並且在按下後退按鈕時,返回到前一頁面。現在在前一頁面中必須顯示先前的數據。但它不立即顯示,需要一些時間來加載。如何解決這個問題? 總的來說,問題是如何維護頁面內容(包含動態數據)在後退導航中顯示?頁面導航 - 在前一頁保留數據

+0

回到上一頁,以前的數據沒有清除。 –

回答

0

使用PhoneApplicationService類可以在頁面之間導航時保​​留數據。這裏是some samples。其實,這是很容易的:

protected override void OnNavigatedFrom(NavigationEventArgs args) 
{ 
    if (ContentPanel.Background is SolidColorBrush) 
    { 
     Color clr = (ContentPanel.Background as SolidColorBrush).Color; 
     if (args.Content is MainPage) (args.Content as MainPage).ReturnedColor = clr; 
     // save color 
     PhoneApplicationService.Current.State["Color"] = clr; 
    } 
    base.OnNavigatedFrom(args); 
} 

protected override void OnNavigatedTo(NavigationEventArgs args) 
{ 
    // restore color 
    if (PhoneApplicationService.Current.State.ContainsKey("Color")) 
    { 
     Color clr = (Color)PhoneApplicationService.Current.State["Color"]; 
     ContentPanel.Background = new SolidColorBrush(clr); 
    } 
    base.OnNavigatedTo(args); 
} 
+0

您可以爲我提供示例代碼的鏈接嗎? –

+0

答案中有一個示例代碼。這段代碼有困難嗎? – crea7or

+0

實際上,在我的應用程序中,頁面包含從服務器加載數據的列表,以及我應該在OnNavigatedFrom和To方法中傳遞哪些內容? –

0
+0

您可以爲我提供示例代碼的鏈接嗎? –

+0

crea7or提供了一些示例代碼。這個想法是,當你離開一個頁面並在NavigatedTo()'上恢復它時,你將頁面的狀態存儲在'PhoneApplicationService'字典或者'OnNavigatedFrom()'的PhoneApplicagePage.State字典中,當你回到那個頁面頁。 – Pantelis

0

您可以使用視圖模型的單噸對象將數據存儲在所提供的所有頁面控件都綁定到視圖模型的屬性。 然後,如果在導航離開頁面時未清除控件的值,那麼當您導航回該頁面時,數據將顯示在該頁面上,例如,在UC瀏覽器中提供了所有控件

相關問題