Freigeben über


VisualBrush.Visual Eigenschaft

Definition

Ruft den Inhalt des Pinsels ab oder legt den Inhalt 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 eines VisualBrushanzugeben.

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

  • Verwenden Sie eine vorhandene Visual, die ein dupliziertes Bild des Ziels Visualerstellt. Anschließend können Sie die VisualBrush verwenden, um interessante Effekte wie Spiegelung und Vergrößerung zu erzeugen.

Visual ist in der gesamten WPF-Klassenhierarchie ziemlich hoch, sodass eine sehr große Anzahl von Objekten möglicherweise als visuelles Element dienen könnte, das Sie für eine VisualBrushverwenden; die gesamte Liste kann hier nicht angezeigt werden. Siehe Visual; verweisen Sie auf den 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 ein Gefühl für die gesamte Palette von Möglichkeiten zu erhalten. Auf oberster Ebene sind die beiden am häufigsten verwendeten Objektkategorien für eine VisualBrushUIElement oder ContainerVisual. UIElement umfasst grundsätzlich jedes UI-Element, das andernfalls an der Benutzeroberfläche für eine WPF-Anwendung teilnehmen kann. ContainerVisual enthält eine DrawingGroup, die mindestens ein Drawingabgeleitete Objekte enthält.

Wenn Sie eine neue Visual für eine VisualBrush definieren und dass Visual ein UIElement (z. B. ein Panel oder Steuerelement) ist, wird das Layoutsystem auf dem UIElement und den untergeordneten Elementen ausgeführt, wenn die AutoLayoutContent-Eigenschaft auf truefestgelegt ist. Die Wurzel UIElement ist jedoch im Wesentlichen vom rest des Systems isoliert; Stile, Storyboards und externes Layout, das vom übergeordneten Element bestimmt wird, auf das der Pinsel angewendet wird, kann diese Grenze nicht durchdringen. Daher sollten Sie explizit die Größe der Stamm-UIElementangeben, da das einzige übergeordnete Element die VisualBrush ist und daher die Größe nicht automatisch in den zu gezeichneten Bereich passt. Weitere Informationen zum Layout in Windows Presentation Foundation (WPF) finden Sie im Layout-.

Aktualisierungen der visuellen Struktur eines VisualBrush werden 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 über dem Effekt erzwingen. Sie können InvalidateVisual aufrufen oder eine Animation einschließen, um eine Szenenaktualisierung zu erzwingen.

Anmerkung

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

XAML-Eigenschaftselementverwendung

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

XAML-Attributverwendung

< 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 Visualabgeleitet wird. Siehe Anmerkungen.

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

resourceExpression A StaticResource oder DynamicResource, die zu einer vorhandenen Visual Instanz ausgewertet wird. Siehe XAML-Ressourcen.

Informationen zur Abhängigkeitseigenschaft

Bezeichnerfeld VisualProperty
Auf true festgelegte Metadateneigenschaften Nichts

Gilt für: