如何在WPF中刷新BitmapCache?当我应用BitmapCache时,它会拉伸我在更改窗口大小时缓存的窗口内容。
我需要在C#或VB .NET中知道。
答案 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 =属性将是最简单的尝试。