VisualBrush.Visual 属性

定义

获取或设置画笔的内容。

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

注解

有两种方法可以指定 VisualBrushVisual 内容。

Visual 在 WPF 类层次结构中相当高,因此大量的对象可能充当用于 VisualBrush的视觉对象;无法在此处显示整个列表。 请参阅 Visual;请参阅“继承层次结构”部分,该部分将显示立即派生的类。 然后,可以单击立即派生的类并遍历层次结构,以了解各种可能性。 在顶层,可用于 VisualBrush 的两个最常见的对象类别是 UIElementContainerVisualUIElement 基本上包含任何可以参与 WPF 应用程序的 UI 元素。 ContainerVisual 包含一个或多个 Drawing派生对象的 DrawingGroup

VisualBrush 定义新的 Visual 并且 VisualUIElement(如面板或控件),当 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 实例的 StaticResourceDynamicResource。 请参阅 XAML 资源

Dependency 属性信息

标识符字段 VisualProperty
设置为 true 的元数据属性 没有

适用于