在Windows Phone應用程序中,頁面被導航到另一頁面,並且在按下後退按鈕時,返回到前一頁面。現在在前一頁面中必須顯示先前的數據。但它不立即顯示,需要一些時間來加載。如何解決這個問題? 總的來說,問題是如何維護頁面內容(包含動態數據)在後退導航中顯示?頁面導航 - 在前一頁保留數據
回答
使用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);
}
您可以爲我提供示例代碼的鏈接嗎? –
答案中有一個示例代碼。這段代碼有困難嗎? – crea7or
實際上,在我的應用程序中,頁面包含從服務器加載數據的列表,以及我應該在OnNavigatedFrom和To方法中傳遞哪些內容? –
您可以爲我提供示例代碼的鏈接嗎? –
crea7or提供了一些示例代碼。這個想法是,當你離開一個頁面並在NavigatedTo()'上恢復它時,你將頁面的狀態存儲在'PhoneApplicationService'字典或者'OnNavigatedFrom()'的PhoneApplicagePage.State字典中,當你回到那個頁面頁。 – Pantelis
您可以使用視圖模型的單噸對象將數據存儲在所提供的所有頁面控件都綁定到視圖模型的屬性。 然後,如果在導航離開頁面時未清除控件的值,那麼當您導航回該頁面時,數據將顯示在該頁面上,例如,在UC瀏覽器中提供了所有控件
- 1. 如何在頁面導航中保留狀態數據?
- 2. Django從頁面導航,保留信息
- 3. 保留Listview滾動頁面導航
- 4. 頁面導航與JavaScript中的數據保留
- 5. 從頁面導航離開頁面後不保留JS頁面格式
- 6. WinJS在當前頁面保存更改,然後導航到另一個頁面?
- 7. 在ASP.NET中保留數據頁面
- 8. Windows Phone:如何留在當前頁面而不是導航到其他頁面?
- 9. 在Web應用程序中導航頁面到頁面保留用戶輸入
- 10. 如何在Windows Phone中的頁面之間導航時保留數據
- 11. 如何在導航時返回頁面並保留文本字段數據
- 12. 如何在頁面頂部保留導航欄?
- 13. 在頁面導航
- 14. 保留前一頁的參數與respond_to
- 15. 頁面導航
- 16. 頁面導航
- 17. 導航頁面?
- 18. 在WP 8.1中動畫頁面導航,當前頁面保持不變
- 19. 頁面刷新後保留數據
- 20. 頁面間保留表格數據
- 21. 在導航到頁面之前預先載入頁面WPF
- 22. setOffscreenPageLimit不加載下一頁,只保留以前的頁面
- 23. 在頁面內動態導航頁面
- 24. 在頁面之間導航時,保持頁面狀態
- 25. 如何在angularjs中從一個頁面導航到另一個頁面時保留$ scope值
- 26. 跨頁面回發並保留源頁面中的數據
- 27. 保留Twitter Bootstrap頁面刷新/導航摺疊狀態
- 28. jquery click()不在galleriffic頁面導航頁面導航
- 29. 頁面導航選擇/保存數據頁面不同於開始於
- 30. jsf導航頁面顯示數據表
回到上一頁,以前的數據沒有清除。 –