如何删除从导航高速缓存中的特定网页的Windows Phone 8.1 RT?(How to rem

2019-10-21 16:44发布

我在WP 8.1 XAML应用程序的某些页面设置NavigationCacheMode为必需。 我怎样才能从删除特定网页? 这不是导航堆栈。

Answer 1:

如果一个页面有NavigationCacheMode设置为必需 ,目前还没有办法明确将其删除。

如果您使用支持 ,您可以使用缓存模式重置缓存:

private void ResetPageCache()
{
    var cacheSize = ((Frame) Parent).CacheSize;
    ((Frame) Parent).CacheSize = 0;
    ((Frame) Parent).CacheSize = cacheSize;
}


Answer 2:

我不能找到一种方法,但是移除缓存我设法通过简单NavigationCacheMode设置为禁用,当我点击我的应用程序的刷新按钮绕过它。

因此,当页面重新加载,然后重新设置为需要工作的对待我!

private void refresh_Click(object sender, RoutedEventArgs e)
        {
            this.NavigationCacheMode = NavigationCacheMode.Disabled;
            Refresh.IsEnabled = false;
            switch (flipView.SelectedIndex)
            {
                case 0:
                    ApplicationData.Current.RoamingSettings.Values["FlipView"] = 0;
                    break;
                case 1:
                    ApplicationData.Current.RoamingSettings.Values["FlipView"] = 1;
                    break;
                case 2:
                    ApplicationData.Current.RoamingSettings.Values["FlipView"] = 2;
                    break;
                case 3:
                    ApplicationData.Current.RoamingSettings.Values["FlipView"] = 3;
                    break;
            }
            this.Frame.Navigate(typeof(MainPage));
        }


Answer 3:

这是太容易了。 只需在下面的代码中使用的页面休假:

this.NavigationCacheMode = NavigationCacheMode.Disabled;

并使用下面的代码在页面的构造函数:

this.NavigationCacheMode = NavigationCacheMode.Enable;


文章来源: How to remove a specific page from Navigation cache in Windows Phone 8.1 RT?