VisualBrush.Visual Egenskap

Definition

Hämtar eller anger penselns innehåll.

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

Egenskapsvärde

Penselns innehåll. Standardvärdet är null.

Kommentarer

Det finns två sätt att ange innehållet i Visual i en VisualBrush.

  • Skapa en ny Visual och använd den för att ange egenskapen Visual för VisualBrush.

  • Använd en befintlig Visual, som skapar en dubblettbild av målet Visual. Du kan sedan använda VisualBrush för att skapa intressanta effekter, till exempel reflektion och förstoring.

Visual är ganska högt i den övergripande WPF-klasshierarkin, så ett mycket stort antal objekt kan eventuellt fungera som det visuella objekt som du använder för en VisualBrush. Hela listan kan inte visas här. Se Visual; se avsnittet "Arvshierarki", som visar de omedelbart härledda klasserna. Du kan sedan klicka på de direkt härledda klasserna och gå igenom hierarkierna för att få en uppfattning om alla möjligheter. På en toppnivå är VisualBrush de två vanligaste objektkategorierna som du kan använda för en UIElement eller ContainerVisual. UIElement omfattar i princip alla användargränssnittselement som annars kan delta i användargränssnittet för ett WPF program. ContainerVisual innehåller ett DrawingGroup som innehåller ett eller flera Drawing-härledda objekt.

När du definierar en ny Visual för en VisualBrush och Visual är en UIElement (till exempel en panel eller kontroll), körs layoutsystemet på UIElement och dess underordnade element när egenskapen AutoLayoutContent är inställd på true. Roten UIElement är dock i stort sett isolerad från resten av systemet. Format, storyboards och extern layout som dikteras av den överordnade där penseln används kan inte genomsyra den här gränsen. Därför bör du uttryckligen ange storleken på roten UIElementeftersom dess enda överordnade är VisualBrush och därför inte automatiskt kan storleksanpassa sig till det område som målas. Mer information om layout i Windows Presentation Foundation (WPF) finns i Layout.

Uppdateringar av det visuella trädet i en VisualBrush sprids inte om en BitmapEffect finns i penselns överordnade kedja. Du kan kringgå den här begränsningen genom att tvinga fram en uppdatering av scenen på objektet ovanför effekten. Du kan anropa InvalidateVisual eller inkludera en animering för att framtvinga en scenuppdatering.

Note

A VisualBrush kan inte göras skrivskyddad (låst) när dess Visual egenskap är inställd på något annat värde än null.

Användning av XAML-egenskapselement

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

XAML-attributanvändning

< ObjektVisual="{bindingExpression}"/>

-eller-

< ObjektVisual="{resourceExpression}"/>

XAML-värden

singleVisualRoot Ett objektelement som definierar ett nytt visuellt element för penseln. Det här måste vara ett objekt som härleds från Visual. Se Kommentarer.

bindingExpression Ett uttryck som utvärderas till en befintlig Visual instans.

resourceExpression En StaticResource eller DynamicResource som utvärderas till en befintlig Visual instans. Se XAML-resurser.

Information om beroendeegenskap

Objekt Value
Identifierarfält VisualProperty
Metadataegenskaper inställda på true Ingen

Gäller för