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 的元数据属性 |
没有 |