WinRt WebView 控件.重用同一实例

本文关键字:实例 WebView 控件 WinRt | 更新日期: 2023-09-27 18:32:56

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

当我返回到详细信息页面并选择新项目时,将创建 Web 视图控件的更热实例。如何避免重新下载html页面的静态内容?我尝试将 Web 视图控件的引用维护到详细信息页面,并在打开详细信息页面后,将引用推送到 Grid 中。在这种情况下,会抛出异常,因为我的控制是某物的 alredy 孩子。静态资源呢?

WinRt WebView 控件.重用同一实例

你考虑过吗?

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

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

MSDN 若要启用要缓存的页面,请将"导航缓存模式"设置为"已启用"或"必需"。行为上的区别在于,如果超出帧的缓存大小限制 (CacheSize),则可能不会缓存"已启用",而"必需"始终生成一个条目,而不管大小限制如何。如果要以编程方式将导航缓存模式的值更改为"已启用"或"必需",则只能在页面的构造函数中设置这些值。如果将导航缓存模式的值从"必需"或"已启用"更改为"禁用",则会从缓存中刷新页面。当超过配置的 CacheSize 时,页面不会简单地标记为可刷新。

祝你好运