BitmapCacheBrush 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用缓存的内容绘制一个区域。
public ref class BitmapCacheBrush sealed : System::Windows::Media::Brush
public sealed class BitmapCacheBrush : System.Windows.Media.Brush
type BitmapCacheBrush = class
inherit Brush
Public NotInheritable Class BitmapCacheBrush
Inherits Brush
- 继承
示例
下面的代码示例演示如何将 与 BitmapCacheBrush关联BitmapCache。 可以在多个元素上使用资源 BitmapCacheBrush ,并实现良好的性能。 有关完整的代码列表,请参阅 如何:使用缓存元素作为画笔。
<Window.Resources>
<RichTextBox x:Key="cachedRichTextBox" >
<RichTextBox.CacheMode>
<BitmapCache EnableClearType="True" RenderAtScale="1" SnapsToDevicePixels="True" />
</RichTextBox.CacheMode>
</RichTextBox>
<BitmapCacheBrush x:Key="cachedRichTextBoxBrush" Target="{StaticResource cachedRichTextBox}">
<BitmapCacheBrush.BitmapCache>
<BitmapCache EnableClearType="False" RenderAtScale="0.4" SnapsToDevicePixels="False" />
</BitmapCacheBrush.BitmapCache>
</BitmapCacheBrush>
</Window.Resources>
注解
使用 BitmapCacheBrush 类可高效重用缓存元素。 当需要将复杂内容绘制到多个元素上时,这非常有用。 BitmapCache使用 类来缓存复杂元素。
将 分配给 Visual 属性, Target 并选择性地将 分配给 BitmapCache 属性 BitmapCache 。 CacheMode画笔和目标的 Visual 交互以产生不同的行为。 下表描述了此交互。
目标没有 CacheMode | 目标具有 CacheMode | |
---|---|---|
Brush 没有 CacheMode | 目标视觉对象正常呈现;brush 使用默认缓存行为。 | 目标视觉对象呈现到其自己的缓存中;画笔在呈现时使用目标的缓存。 |
Brush 具有 CacheMode | 目标视觉对象正常呈现;画笔将目标呈现到其自己的缓存中,并使用它来呈现。 | 目标视觉对象呈现到其自己的缓存中;画笔将目标呈现到画笔自己的缓存中,并使用它来呈现。 |
类 BitmapCacheBrush 类似于 VisualBrush 类,但 BitmapCacheBrush 始终从目标元素上的缓存或属性 BitmapCache 定义的缓存呈现。 类BitmapCacheBrush还支持脏区域。
下表显示了 类的默认位图缓存设置 BitmapCacheBrush 。
位图缓存属性 | 默认设置 |
---|---|
SnapsToDevicePixels | false |
EnableClearType | false |
RenderAtScale | 1 |
属性 SnapsToDevicePixels 被 BitmapCacheBrush 类忽略。
类 BitmapCacheBrush 忽略根 Visual上的以下属性。 此行为不同于 VisualBrush 类。
构造函数
BitmapCacheBrush() |
初始化 BitmapCacheBrush 类的新实例。 |
BitmapCacheBrush(Visual) |
使用指定的 BitmapCacheBrush 初始化 Visual 类的新实例。 |
字段
AutoLayoutContentProperty |
标识 AutoLayoutContent 依赖项属性。 |
BitmapCacheProperty |
标识 BitmapCache 依赖项属性。 |
TargetProperty |
标识 Target 依赖项属性。 |
属性
AutoLayoutContent |
获取或设置一个值,该值指示是否将布局应用于此画笔的内容。 |
BitmapCache |
获取或设置一个表示缓存的内容的 CacheMode。 |
CanFreeze |
获取一个值,该值指示是否可将对象变为不可修改。 (继承自 Freezable) |
DependencyObjectType |
DependencyObjectType获取包装此实例的 CLR 类型的 。 (继承自 DependencyObject) |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
HasAnimatedProperties |
获取一个值,该值指示一个或多个 AnimationClock 对象是否与此对象的任何依赖项属性相关联。 (继承自 Animatable) |
IsFrozen |
获取一个值,该值指示对象当前是否可修改。 (继承自 Freezable) |
IsSealed |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
Opacity |
获取或设置 Brush 的不透明度。 (继承自 Brush) |
RelativeTransform |
获取或设置使用相对坐标应用到画笔的转换。 (继承自 Brush) |
Target |
获取或设置要缓存的目标可视对象。 |
Transform |
获取或设置应用于画笔的转换。 此转换在完成画笔输出的映射和定位后应用。 (继承自 Brush) |
方法
事件
Changed |
在修改 Freezable 或其包含的对象时发生。 (继承自 Freezable) |
显式接口实现
IFormattable.ToString(String, IFormatProvider) |
使用指定格式对当前实例的值设置格式。 (继承自 Brush) |