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