刷新BitmapCache?

时间:2011-02-08 11:34:46

标签: c# .net wpf vb.net

如何在WPF中刷新BitmapCache?当我应用BitmapCache时,它会拉伸我在更改窗口大小时缓存的窗口内容。

我需要在C#或VB .NET中知道。

2 个答案:

答案 0 :(得分:2)

根据窗口大小的增长程度,您可以尝试使用“RenderAtScale”属性,例如: (XAML):

<Path ...>
    <Path.CacheMode>
        <BitmapCache RenderAtScale="2"/>
    </Path.CacheMode>
</Path>

(C#):

Path path = new Path();
BitmapCache bitmapCache = new BitmapCache();
bitmapCache.RenderAtScale = 2;
path.CacheMode = bitmapCache;   

这会将路径缓存为原始大小的两倍,这意味着在扩展时它不应该看起来模糊。

我知道这不是你要求做的,但它可以解决你的问题。

答案 1 :(得分:1)

http://blogs.msdn.com/b/llobo/archive/2009/11/10/new-wpf-features-cached-composition.aspx

在上面的链接中它说:

&#34;请注意,更改UIElement子树或这些属性(EnableClearType \ RenderAtScale)将导致重新生成缓存。&#34;

因此,每次窗口被拉伸时,执行上述操作之一以使缓存重新生成/刷新 - 我认为翻转EnableClearType =属性将是最简单的尝试。