VisualBrush.Visual Eigenschaft

Definition

Ruft den Inhalt des Pinsels ab oder legt ihn fest.

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

Eigenschaftswert

Der Inhalt des Pinsels. Der Standardwert ist null.

Hinweise

Es gibt zwei Möglichkeiten, den Visual-Inhalt einer VisualBrush anzugeben.

  • Erstellen Sie eine neue Visual, und verwenden Sie sie, um die Visual-Eigenschaft des VisualBrush festzulegen.

  • Verwenden Sie ein vorhandenes Visual, wodurch ein Duplikat des Visual-Ziels erstellt wird. Anschließend können Sie den VisualBrush verwenden, um interessante Effekte zu erstellen, z. B. Reflektion und Vergrößerung.

Visual ist in der gesamten WPF-Klassenhierarchie recht hoch, sodass möglicherweise eine sehr große Anzahl von Objekten als das Visual dienen könnte, das Sie für ein VisualBrushverwenden. Die gesamte Liste kann hier nicht angezeigt werden. Weitere Informationen finden Sie Visualim Abschnitt "Vererbungshierarchie", in dem die unmittelbar abgeleiteten Klassen angezeigt werden. Sie können dann auf die unmittelbar abgeleiteten Klassen klicken und die Hierarchien durchlaufen, um einen Eindruck von den gesamten Möglichkeiten zu erhalten. Auf oberster Ebene sind UIElement die beiden häufigsten Kategorien von Objekten, die Sie für eine VisualBrush verwenden können, oder ContainerVisual. UIElement umfasst im Grunde jedes UI-Element, das andernfalls an der Benutzeroberfläche einer WPF-Anwendung teilnehmen kann. ContainerVisual enthält ein DrawingGroup , das ein oder Drawingmehrere abgeleitete Objekte enthält.

Wenn Sie ein neues Visual für ein VisualBrush und Visual als UIElement definieren (z. B. ein Bedienfeld oder ein Steuerelement), wird das Layoutsystem auf dem UIElement und seinen untergeordneten Elementen ausgeführt, wenn die AutoLayoutContent-Eigenschaft auf true gesetzt ist. Der Stamm UIElement ist jedoch im Wesentlichen vom Rest des Systems isoliert. Stile, Storyboards und externe Layouts, die vom übergeordneten Element vorgegeben werden, in dem der Pinsel angewendet wird, können diese Grenze nicht durchdringen. Daher sollten Sie explizit die Größe des Stamm-UIElementangeben, zumal VisualBrush sein einziges übergeordnetes Objekt ist und es sich deshalb nicht automatisch an den gezeichneten Bereich anpassen kann. Weitere Informationen über das Layout in Windows Presentation Foundation (WPF) finden Sie im Dokument Layout.

Aktualisierungen zur visuellen Struktur eines VisualBrush wird nicht weitergegeben, wenn sich ein BitmapEffect in der übergeordneten Kette des Pinsels befindet. Sie können diese Einschränkung umgehen, indem Sie eine Aktualisierung der Szene für das Objekt oberhalb des Effekts erzwingen. Sie können eine Animation aufrufen InvalidateVisual oder einschließen, um eine Szenenaktualisierung zu erzwingen.

Hinweis

Ein VisualBrush kann nicht als schreibgeschützt (fixiert) werden, wenn seine Visual Eigenschaft auf einen anderen Wert als nullfestgelegt ist.

Verwendung von XAML-Eigenschaftenelementen

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

Verwendung von XAML-Attributen

<ObjektVisual ="{bindingExpression}"/>

Oder

<ObjektVisual ="{resourceExpression}"/>

XAML-Werte

singleVisualRoot
Ein einzelnes Objektelement, das ein neues visuelles Element für den Pinsel definiert. Dies muss ein Objekt sein, das von abgeleitet wird Visual. Siehe Hinweise.

bindingExpression
Ein Ausdruck, der zu einer vorhandenen Visual Instanz ausgewertet wird.

resourceExpression
Ein StaticResource oder DynamicResource , das zu einer vorhandenen Visual Instanz ausgewertet wird. Weitere Informationen finden Sie unter XAML-Ressourcen.

Informationen zur Abhängigkeitseigenschaft

Bezeichnerfeld VisualProperty
Metadateneigenschaften auf true festgelegt Keine

Gilt für: