Поделиться через


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.

Комментарии

Существует два способа указать Visual содержимое VisualBrush.

  • Создайте новый Visual и используйте его для задания свойства VisualVisualBrush.

  • Используйте существующую Visual, которая создает дубликат изображения целевого Visual. Затем можно использовать VisualBrush для создания интересных эффектов, таких как отражение и увеличение.

Visual довольно высок в общей иерархии классов WPF, поэтому очень большое количество объектов может служить визуальным элементом, используемым для VisualBrush; Весь список не может отображаться здесь. См. Visual; См. раздел "Иерархия наследования", в котором будут отображаться сразу производные классы. Затем можно щелкнуть сразу производные классы и перейти к иерархиям, чтобы получить представление о полном диапазоне возможностей. На верхнем уровне наиболее распространенные категории объектов, которые можно использовать для VisualBrush, являются UIElement или ContainerVisual. UIElement охватывает в основном любой элемент пользовательского интерфейса, который может в противном случае участвовать в пользовательском интерфейсе для приложения WPF. ContainerVisual содержит DrawingGroup, включающую один или несколько объектов, производных от Drawing.

При определении нового Visual для VisualBrush и Visual является UIElement (например, панелью или элементом управления), система макета выполняется на UIElement и его дочерних элементах, когда для свойства AutoLayoutContent задано значение true. Однако корневой UIElement по сути изолирован от остальной части системы; стили, раскадровки и внешний макет, диктуемые родительским элементом, где применяется кисть, не могут пронизывать эту границу. Таким образом, необходимо явно указать размер корневого UIElement, так как его единственным родительским является VisualBrush, поэтому он не может автоматически изменять размер области. Дополнительные сведения о макете в Windows Presentation Foundation (WPF) см. вмакета .

Обновления визуального дерева VisualBrush не будут распространяться, если BitmapEffect находится в родительской цепочке кисти. Это ограничение можно обойти, принудив обновление сцены к объекту над эффектом. Вы можете вызвать InvalidateVisual или включить анимацию для принудительного обновления сцены.

Заметка

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.

Сведения о свойстве зависимостей

Поле идентификатора VisualProperty
Свойства метаданных, заданные для true Никакой

Применяется к