FrameworkElement.GetVisualChild(Int32) Metoda

Definicja

Zastępuje GetVisualChild(Int32)i zwraca element podrzędny o określonym indeksie z kolekcji elementów podrzędnych.Overrides GetVisualChild(Int32), and returns a child at the specified index from a collection of child elements.

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 (liczony od zera) żądanego elementu podrzędnego w kolekcji.The zero-based index of the requested child element in the collection.

Zwraca

Żądany element podrzędny.The requested child element. Nie powinno to zwracać null; Jeśli podany indeks znajduje się poza zakresem, zgłaszany jest wyjątek.This should not return null; if the provided index is out of range, an exception is thrown.

Przykłady

Poniższy przykład pokazuje, jak niestandardowy moduł definiowania układu używa wartości zadeklarowanych przez VisualCollection, które utrzymuje dla wielu elementów podrzędnych wizualizacji.The following example shows how a custom adorner uses the values declared by a VisualCollection that it maintains for its multiple visual children. Te wartości są zgłaszane za poorednictwem zastąpień VisualChildrenCount i GetVisualChild.These values are reported through overrides of VisualChildrenCount and 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 FrameworkElement Jedynym prawidłowym indeksem jest zero.In the FrameworkElement implementation, the only valid index is zero. Model zawartości dla GetVisualChild obsługuje zero lub jeden element podrzędny, a nie kolekcję.The content model for GetVisualChild supports either zero or one child elements, not a collection.

Uwagi dotyczące dziedziczenia

Ta implementacja jest prawidłowa tylko dla elementów, które nie obsługują więcej opisowych kolekcji elementów podrzędnych wizualizacji.This implementation is only valid for elements that do not maintain any more descriptive collection of visual child elements. Każdy element, który ma taką kolekcję, musi przesłonić tę metodę i zmapować indeks na odpowiedni indeks w kolekcji elementów podrzędnych, która jest obsługiwana przez ten element.Any element that does have such a collection must override this method and map the index to an equivalent index in the child element collection that is supported by that element. Indeks zakresu od zera do VisualChildrenCount (minus jeden) powinien zwrócić prawidłowy element; Każdy inny indeks powinien zgłosić wyjątek poza zakresem.An index in the range from zero to VisualChildrenCount (minus one) should return a valid element; any other index should throw an out-of-range exception. Przykład typu elementu, który obsługuje kolekcję podrzędną i przesłania GetVisualChild(Int32) w celu zwrócenia więcej niż jednego możliwego elementu podrzędnego jest Panel.An example of an element type that does support a child collection and overrides GetVisualChild(Int32) to return more than one possible child is Panel.

Domyślna implementacja w FrameworkElement zakłada tylko jeden element podrzędny.The default implementation in FrameworkElement presumes only one visual child. Wszystkie wartości przesyłane do index inne niż zero powodują wystąpienie wyjątku.Any value passed for index other than zero causes an exception to be thrown. Kilka typowych elementów, takich jak dekoratory, moduły definiowania układu lub elementy z wyspecjalizowanym renderowaniem, przesłonić implementację FrameworkElement (implementacji z pośrednich klas podstawowych).Several common elements, such as decorators, adorners, or elements with specialized rendering, override the FrameworkElement implementation (of the implementation from intermediate base classes). Niektóre implementacje nadal wymuszają jeden element wizualny wizualizacji, a inne zezwalają na zbieranie.Some implementations still enforce one visual child whereas others allow a collection.

Dotyczy