BitmapCache 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建并缓存 UIElement 的位图表示形式。
public ref class BitmapCache sealed : System::Windows::Media::CacheMode
public sealed class BitmapCache : System.Windows.Media.CacheMode
type BitmapCache = class
inherit CacheMode
Public NotInheritable Class BitmapCache
Inherits CacheMode
- 继承
示例
以下 XAML 演示如何缓存 Canvas 元素。 有关完整的代码示例,请参阅 如何:通过缓存元素提高呈现性能。
<!-- //////////////////////////////////////////////////////////////// -->
<!-- // The following XAML creates a BitmapCache with default // -->
<!-- // properties and assigns it as the CacheMode for the canvas. // -->
<!-- //////////////////////////////////////////////////////////////// -->
<Canvas.CacheMode>
<BitmapCache EnableClearType="False"
RenderAtScale="1"
SnapsToDevicePixels="False" />
</Canvas.CacheMode>
注解
使用 BitmapCache 类可以改善复杂 UIElement 的呈现性能。 创建 并将其 BitmapCache 分配给 CacheMode 的 UIElement 属性,以将元素及其子树缓存为视频内存中的位图。 当你需要尽快对 进行动画处理、转换或缩放 时 UIElement ,这非常有用。 此方法可以在缓存内容时在性能和视觉质量之间进行权衡。
BitmapCacheBrush使用 类可以有效地重用缓存的元素。
RenderAtScale设置 属性以缩放位图缓存。 如果元素将被缩放,并且你希望元素呈现得比仅以元素的本机分辨率生成缓存时更清晰,则这非常有用。
SnapsToDevicePixels当缓存显示需要像素对齐才能正确呈现的内容(如 ClearType 文本)时设置 属性。 和 Viewport2DVisual3D 类忽略BitmapCacheBrush此属性。
缓存控件不会影响鼠标悬停行为,因此鼠标悬停命中测试的操作就像位图是实时控件一样。
仅当 或其子树的结构 UIElement 更改或设置更改时 CacheMode ,才会发生缓存重新生成。 RenderAtScale设置 或 EnableClearType 属性会导致缓存重新生成。 对缓存 UIElement的父可视化树的更改(例如转换、缩放、不透明度和效果)不会影响缓存。
当硬件加速不可用时,缓存将运行。 在这种情况下,位图在软件中呈现,最大位图尺寸为 2048 x 2048。
注意
RenderOptions 和 TextOptions 不会通过缓存的元素传播。 可能需要在缓存下面的子元素中再次设置这些选项。
构造函数
BitmapCache() |
初始化 BitmapCache 类的新实例。 |
BitmapCache(Double) |
用指定的缩放比例初始化 BitmapCache 类的新实例。 |
字段
EnableClearTypeProperty |
标识 EnableClearType 依赖项属性。 |
RenderAtScaleProperty |
标识 RenderAtScale 依赖项属性。 |
SnapsToDevicePixelsProperty |
标识 SnapsToDevicePixels 依赖项属性。 |
属性
CanFreeze |
获取一个值,该值指示是否可将对象变为不可修改。 (继承自 Freezable) |
DependencyObjectType |
获取 DependencyObjectType 包装此实例的 CLR 类型的 。 (继承自 DependencyObject) |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
EnableClearType |
获取或设置一个值,该值指示是否在激活 ClearType 的情况下呈现位图。 |
HasAnimatedProperties |
获取一个值,该值指示一个或多个 AnimationClock 对象是否与此对象的任何依赖项属性相关联。 (继承自 Animatable) |
IsFrozen |
获取一个值,该值指示对象当前是否可修改。 (继承自 Freezable) |
IsSealed |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
RenderAtScale |
获取或设置一个值,该值指示应用于位图的缩放比例。 |
SnapsToDevicePixels |
获取或设置一个值,该值指示在呈现位图时是否启用像素对齐功能。 |
方法
事件
Changed |
在修改 Freezable 或其包含的对象时发生。 (继承自 Freezable) |