VisualBrush.Visual 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置画笔的内容。
public:
property System::Windows::Media::Visual ^ Visual { System::Windows::Media::Visual ^ get(); void set(System::Windows::Media::Visual ^ value); };
public System.Windows.Media.Visual Visual { get; set; }
member this.Visual : System.Windows.Media.Visual with get, set
Public Property Visual As Visual
属性值
画笔的内容。 默认值为 null。
注解
有两种方法可以指定 VisualBrush的 Visual 内容。
创建新的 Visual,并将其用于设置 VisualBrush的 Visual 属性。
使用现有 Visual,该 Visual创建目标 Visual的重复映像。 然后,可以使用 VisualBrush 创建有趣的效果,例如反射和放大。
Visual 在 WPF 类层次结构中相当高,因此大量的对象可能充当用于 VisualBrush的视觉对象;无法在此处显示整个列表。 请参阅 Visual;请参阅“继承层次结构”部分,该部分将显示立即派生的类。 然后,可以单击立即派生的类并遍历层次结构,以了解各种可能性。 在顶层,可用于 VisualBrush 的两个最常见的对象类别是 UIElement 或 ContainerVisual。 UIElement 基本上包含任何可以参与 WPF 应用程序的 UI 元素。 ContainerVisual 包含一个或多个 Drawing派生对象的 DrawingGroup。
为 VisualBrush 定义新的 Visual 并且 Visual 是 UIElement(如面板或控件),当 AutoLayoutContent 属性设置为 true时,布局系统将在 UIElement 及其子元素上运行。 但是,根 UIElement 基本上与系统的其余部分隔离;应用画笔的父级指定的样式、情节提要和外部布局无法渗透到此边界。 因此,应显式指定根 UIElement的大小,因为其唯一的父级是 VisualBrush,因此它无法自动将自身大小调整到要绘制的区域。 有关 Windows Presentation Foundation(WPF)中的布局的详细信息,请参阅 布局。
如果 BitmapEffect 位于画笔的父链中,则 VisualBrush 的可视化树的更新不会传播。 可以通过强制在效果上方的对象上更新场景来解决此问题。 可以调用 InvalidateVisual 或包括动画来强制进行场景更新。
注意
当 Visual 属性设置为除 null以外的任何值时,无法将 VisualBrush 设置为只读(冻结)。
XAML 属性元素用法
<object>
<object.Visual>
singleVisualRoot
</object.Visual>
</object>
XAML 属性用法
<
对象Visual=“{bindingExpression}”/>
-或-
<
对象Visual=“{resourceExpression}”/>
XAML 值
singleVisualRoot 为画笔定义新视觉元素的单个对象元素。 这必须是派生自 Visual的对象。 请参阅“备注”。
bindingExpression 计算结果为现有 Visual 实例的表达式。
resourceExpression 评估为现有 Visual 实例的 StaticResource 或 DynamicResource。 请参阅 XAML 资源。
Dependency 属性信息
| 标识符字段 | VisualProperty |
设置为 true 的元数据属性 |
没有 |