在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导航页面显示数据表
回到上一页,以前的数据没有清除。 –