0

我的 Windows 通用应用程序是一个列表详细实现。在详细信息页面内,我有一个使用 URI 初始化的 WebView 控件。这个 URI 对于每个详细信息项都是相同的,因为我使用 InvokeScript 函数传递给页面详细信息数据。

当我返回详细信息页面并选择一个新项目时,将创建另一个 webview 控件实例。如何避免重新下载 html 页面的静态内容?我试图将 Web 视图控件的引用保留到详细信息页面,一旦打开详细信息页面,将引用推送到网格中。在这种情况下,会引发异常,因为我的控件已经是某物的孩子。静态资源呢?

4

1 回答 1

0

你考虑过这个吗?

public sealed partial class DetailPage : Page
{
    public DetailPage()
    {
        InitializeComponent();
        NavigationCacheMode = NavigationCacheMode.Enabled;
    }
}

它允许您的页面保留在缓存中,因此下次导航到它时,您不必重新创建其中的所有内容。它非常方便,听起来就像您想要做的那样。

MSDN要启用缓存页面,请将 NavigationCacheMode 设置为 Enabled 或 Required。不同之处在于,如果超出帧的缓存大小限制 (CacheSize),则可能不会缓存 Enabled,而无论大小限制如何,Required 始终会生成一个条目。如果要以编程方式将 NavigationCacheMode 的值更改为 Enabled 或 Required,则只能在页面的构造函数中设置这些值。如果将 NavigationCacheMode 的值从“必需”或“启用”更改为“禁用”,页面将从缓存中刷新。当超过配置的 CacheSize 时,页面不会简单地标记为可刷新。

祝你好运

于 2016-02-07T04:44:03.590 回答