Sdílet prostřednictvím


FrameworkElement.GetVisualChild(Int32) Metoda

Definice

GetVisualChild(Int32)Přepíše a vrátí podřízený objekt na zadaném indexu z kolekce podřízených prvků.

protected:
 override System::Windows::Media::Visual ^ GetVisualChild(int index);
protected override System.Windows.Media.Visual GetVisualChild (int index);
override this.GetVisualChild : int -> System.Windows.Media.Visual
Protected Overrides Function GetVisualChild (index As Integer) As Visual

Parametry

index
Int32

Index od nuly požadovaného podřízeného prvku v kolekci.

Návraty

Požadovaný podřízený prvek. Nemělo by se vracet null. Pokud je zadaný index mimo rozsah, vyvolá se výjimka.

Příklady

Následující příklad ukazuje, jak vlastní ozdoba používá hodnoty deklarované objektem VisualCollection , který udržuje pro své podřízené objekty více vizuálů. Tyto hodnoty jsou hlášeny prostřednictvím přepsání a VisualChildrenCountGetVisualChild.

// To store and manage the adorner's visual children.
VisualCollection visualChildren;
' To store and manage the adorner's visual children.
Private visualChildren As VisualCollection
// Override the VisualChildrenCount and GetVisualChild properties to interface with 
// the adorner's visual collection.
protected override int VisualChildrenCount { get { return visualChildren.Count; } }
protected override Visual GetVisualChild(int index) { return visualChildren[index]; }
' Override the VisualChildrenCount and GetVisualChild properties to interface with 
' the adorner's visual collection.
Protected Overrides ReadOnly Property VisualChildrenCount() As Integer
    Get
        Return visualChildren.Count
    End Get
End Property
Protected Overrides Function GetVisualChild(ByVal index As Integer) As Visual
    Return visualChildren(index)
End Function

Poznámky

V implementaci FrameworkElement je jediným platným indexem nula. Model obsahu pro GetVisualChild podporuje buď žádný, nebo jeden podřízený prvek, nikoli kolekci.

Poznámky pro dědice

Tato implementace je platná pouze pro prvky, které neudržují žádnou popisnější kolekci podřízených elementů vizuálu. Jakýkoli prvek, který má takovou kolekci musí přepsat tuto metodu a namapovat index na ekvivalentní index v podřízené kolekci elementů, který je podporován tímto elementem. Index v rozsahu od nuly do VisualChildrenCount (minus jednoho) by měl vrátit platný prvek; jakýkoli jiný index by měl vyvolat výjimku mimo rozsah. Příklad typu elementu, který podporuje podřízenou kolekci a přepíše GetVisualChild(Int32) tak, aby vrátil více než jednu možnou podřízenou položku, je Panel.

Výchozí implementace v FrameworkElement předpokládá pouze jeden podřízený vizuál. Jakákoli hodnota předaná pro index jinou než nulu způsobí vyvolání výjimky. Několik běžných prvků, jako jsou dekorátory, doplňky nebo prvky se specializovaným vykreslováním, přepisují implementaci FrameworkElement (implementace z zprostředkujících základních tříd). Některé implementace stále vynucují jeden podřízený vizuál, zatímco jiné umožňují kolekci.

Platí pro