Windows Phone 8.1: 转发页面时不需要 NavigationCache

Windows Phone 8.1: NavigationCache not required while forwarding the page

我正在创建一个 Windows 8.1 通用应用程序。我有三页:第 1 页、第 2 页和第 3 页。 我在第 2 页的构造函数中启用了 NavigationCacheMode。

当我从 第一页(登录页)-> 第二页(搜索画面)-> 第三页(结果画面)。

在搜索屏幕上,我通过 API 搜索电子邮件,然后导航到结果 Page.When 我在结果页面上按后退按钮,我的屏幕导航到具有先前状态的第 2 页(搜索屏幕)没关系。

但是当我从第 3 页(结果页)本身注销时,我的屏幕会导航到第 1 页(登录页)。然后我再次登录然后它会导航到第 2 页(搜索屏幕)但是这次页面的先前缓存状态也在那里我不想要的。

意味着当我导航到新的实例化页面时,它会捕获我上次访问时之前状态的缓存内容。

建议我。任何帮助,将不胜感激。

我建议您查看此 ,您可以从中学习如何删除页面。进一步研究覆盖后键事件。

据我了解,您想在用户注销时清除页面缓存。如果是这样,我们可以尝试通过如下设置 Frame.CacheSize to 0 first and set back to the original value. There is a good example in Andreas Hammer's blog 来重置缓存:

var cacheSize = ((Frame) Parent).CacheSize;
((Frame) Parent).CacheSize = 0;
((Frame) Parent).CacheSize = cacheSize;