1

我想为单击 ListView 项时加载的页面启用缓存。因此,当用户第二次单击同一项目时,应用程序将导航到上一个缓存页面。(我正在使用 LayoutAwarePages,我怀疑如果在 OnNavigatedTo 方法中 NavigationMode 参数与 NavigationMode.New 不同,这应该是可能的)

有任何想法吗?

4

1 回答 1

1

您可以通过在其构造函数中设置页面的NavigationCacheMode属性来影响页面缓存。默认情况下它是禁用的,但如果启用它,每次导航到它时都会获得现有的页面实例。这意味着即使用户导航到 ListView 中的不同项目,页面的相同实例也将被重用。

我找到了一个重新实现导航框架的,使其更像 Windows Phone 中的那个,即:

  • 导航返回时使用缓存页面。
  • 向前导航时,会创建一个新的页面实例。

如果我正确理解您的问题,您需要与上述两种不同的缓存行为。为了实现这一点,您可以将替代导航框架基于我链接到的库中的导航框架,或者通过仅保留每个项目的页面状态而不是实际缓存页面来模拟行为。

于 2013-01-13T06:42:11.413 回答