繁体   English   中英

在Windows Phone 8.1中将页面保持在导航层次结构中

[英]Keep page in navigation hierarchy in Windows phone 8.1

我正在做wp8.1运行时应用程序。 我的页面结构如下

MainPage 
     -> Page1
     -> Page2
     -> Page3
     -> Page4
        ..

问题是,当我从page1导航回到MainPage时,为什么在Fram导航层次结构中删除了page1。 从MainPage到page1再次创建一个新页面(NavigationMode设置为new)。

有没有办法防止那些曾经打开/创建的页面被删除? 还是这样做不是一个好习惯?

一种解决方案是缓存页面。

除非您的页面包含大量数据,否则您不应真正缓存它。 例如,向用户显示大量数据的全景页面每次可能需要一段时间才能重新加载,因此此处的缓存可能很有用。 但是对于一个简单的页面,并没有真正使用缓存,操作系统可以很好地处理这一问题。

根据您的需要,使用以下代码调整页面的构造函数:

this.NavigationCacheMode = NavigationCacheMode.Required;

要么

this.NavigationCacheMode = NavigationCacheMode.Enabled;

您可以使用rootFrame的CacheSize属性控制要缓存的页面数。

您正在使用NavigationHelper来获取状态,对吗? 当NavigationMode为New时,它将删除状态。

您可以在NavigationHelper类中更改行为(在Common中),也可以创建自己的机制来保存状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM