WinRt WebView控件。重用相同的实例

时间:2016-02-03 08:57:52

标签: c# webview winrt-xaml winrt-component

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

当我返回详细信息页面并选择新项目时,会创建webview控件的anhoter实例。 如何避免重新下载html页面的静态内容? 我尝试将Web视图控件的引用保存到详细信息页面,并在打开详细信息页面后,在Grid中推送引用。 在这种情况下会抛出异常,因为我的控件是某种东西的alredy child。 静态资源怎么样?

1 个答案:

答案 0 :(得分:0)

你考虑过这个吗?

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

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

  

MSDN要启用页面缓存,请将NavigationCacheMode设置为Enabled或Required。行为上的差异是,如果超出了帧的高速缓存大小限制(CacheSize),则可能不会高速缓存已启用,而无论大小限制,必需始终生成条目。如果要以编程方式将NavigationCacheMode的值更改为Enabled或Required,则只能在页面的构造函数中设置这些值。如果将NavigationCacheMode的值从Required或Enabled更改为Disabled,则会从​​缓存中刷新页面。当超出配置的CacheSize时,页面不会被简单地标记为可刷新。

祝你好运