如何从Windows Phone 8.1 RT中的导航缓存中删除特定页面?

时间:2015-01-25 07:38:00

标签: c# windows-runtime windows-phone winrt-xaml

我在WP 8.1 XAML应用的某些页面中将NavigationCacheMode设置为Required。如何从中删除特定页面?这不是导航堆栈。

3 个答案:

答案 0 :(得分:5)

如果某个网页的NavigationCacheMode设置为必需,则目前无法明确删除它。

如果您使用已启用,则可以使用缓存模式重置缓存:

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

答案 1 :(得分:1)

我找不到删除缓存的方法,但是当我单击应用程序中的刷新按钮时,只需将NavigationCacheMode设置为Disabled即可绕过它。

因此,当页面重新加载时,它会被设置回需要,对我来说是一种享受!

  public unsafe int getBlockHeight(int stride, IntPtr scan, int x, int y1)
    {

        int height = 0; ;
        for (int y = y1; y < 1080; y++)
        {
            byte* p = (byte*)scan.ToPointer();
            p += (y * stride) + (x * 4); 

            if (p[3] != 0)  //Check if pixel is not transparent;
            {

                height++;
            }

        }
        return height;
    }

答案 2 :(得分:0)

太容易了。 只需在页面上使用以下代码即可:

this.NavigationCacheMode = NavigationCacheMode.Disabled;

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

this.NavigationCacheMode = NavigationCacheMode.Enable;