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 并使用它来设置 VisualBrushVisual 属性。

  • 使用现有的 Visual,它可以创建目标 Visual 的重复图像。 然后可以使用 VisualBrush 创建有趣的效果,例如反射和放大效果。

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

若要为一个 VisualBrush 定义一个新的 Visual,而该 Visual 是一个 UIElement(如面板或控件),则当 AutoLayoutContent 属性设置为 true 时,布局系统会在 UIElement 及其子元素上运行。 但是,根 UIElement 基本上与系统的其余部分隔离;应用画笔的父级指定的样式、情节提要和外部布局无法渗透到此边界。 因此,应明确指定根 UIElement 的大小,因为其唯一父级是 VisualBrush,所以它无法自动调整其大小以适应所绘制的区域。 有关 Windows Presentation Foundation (WPF) 中的布局的详细信息,请参阅布局

如果 BitmapEffect 位于画笔的VisualBrush父链中,则汇报到 的可视化树不会传播。 可以通过强制更新效果上方对象上的场景来绕过此限制。 可以调用 InvalidateVisual 或包含动画来强制更新场景。

注意

VisualBrush当 其属性设置为 除 null之外的任何值时,不能将其Visual设置为只读 (冻结) 。

XAML 属性元素用法

<object>  
  <object.Visual>  
    singleVisualRoot  
  </object.Visual>  
</object>  

XAML 属性用法

<对象Visual=“{bindingExpression}”/>

-或-

<对象Visual=“{resourceExpression}”/>

XAML 值

singleVisualRoot
为画笔定义新视觉元素的单个对象元素。 这必须是派生自 Visual的对象。 请参阅“备注”。

bindingExpression
计算结果为现有 Visual 实例的表达式。

resourceExpression
计算StaticResource结果为现有Visual实例的 或 DynamicResource 。 请参阅 XAML 资源

依赖项属性信息

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

适用于