FrameworkElement.GetVisualChild(Int32) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
GetVisualChild(Int32)Zastępuje element i zwraca element podrzędny w określonym indeksie z kolekcji elementów podrzędnych.
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
Indeks zerowy żądanego elementu podrzędnego w kolekcji.
Zwraca
Żądany element podrzędny. Nie powinno to zwracać wartości null
; jeśli podany indeks jest poza zakresem, zgłaszany jest wyjątek.
Przykłady
W poniższym przykładzie pokazano, jak niestandardowy moduł adorujący używa wartości zadeklarowanych przez VisualCollection element , który utrzymuje dla wielu elementów podrzędnych wizualizacji. Te wartości są raportowane za pośrednictwem przesłonięć VisualChildrenCount elementów i GetVisualChild.
// 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
Uwagi
W implementacji jedynym prawidłowym indeksem FrameworkElement jest zero. Model zawartości dla programu GetVisualChild obsługuje zero lub jeden element podrzędny, a nie kolekcję.
Uwagi dotyczące dziedziczenia
Ta implementacja jest prawidłowa tylko w przypadku elementów, które nie utrzymują bardziej opisowej kolekcji elementów podrzędnych wizualizacji. Każdy element, który ma taką kolekcję, musi zastąpić tę metodę i zamapować indeks na równoważny indeks w kolekcji elementów podrzędnych obsługiwanych przez ten element. Indeks z zakresu od zera do VisualChildrenCount (minus jeden) powinien zwrócić prawidłowy element. Każdy inny indeks powinien zgłosić wyjątek poza zakresem. Przykładem typu elementu, który obsługuje kolekcję podrzędną i zastępuje GetVisualChild(Int32) zwracanie więcej niż jednego możliwego elementu podrzędnego to Panel.
Domyślna implementacja w zakładach FrameworkElement , że tylko jeden element podrzędny wizualizacji. Każda wartość przekazana dla index
wartości innej niż zero powoduje zgłoszenie wyjątku. Kilka typowych elementów, takich jak dekoratory, adoratory lub elementy z wyspecjalizowanym renderowaniem, przesłaniają implementację (implementacji FrameworkElement z pośrednich klas bazowych). Niektóre implementacje nadal wymuszają jedno element podrzędny wizualizacji, podczas gdy inne zezwalają na kolekcję.