FrameworkElement.GetVisualChild(Int32) FrameworkElement.GetVisualChild(Int32) FrameworkElement.GetVisualChild(Int32) FrameworkElement.GetVisualChild(Int32) Method

Definizione

Esegue l'override di GetVisualChild(Int32) e restituisce un elemento figlio in corrispondenza dell'indice specificato da una raccolta di elementi figlio.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

Parametri

index
Int32 Int32 Int32 Int32

Indice in base zero dell'elemento figlio richiesto nella raccolta.The zero-based index of the requested child element in the collection.

Restituisce

Elemento figlio richiesto.The requested child element. Non deve essere restituito un valore null. Se l'indice fornito non è compreso nell'intervallo, viene generata un'eccezione.This should not return null; if the provided index is out of range, an exception is thrown.

Esempi

Nell'esempio seguente viene illustrato come uno strumento decorativo personalizzato usa i valori dichiarati da un oggetto VisualCollection che gestisce per i relativi più elementi figlio visivi.The following example shows how a custom adorner uses the values declared by a VisualCollection that it maintains for its multiple visual children. Questi valori vengono segnalati tramite sostituzioni GetVisualChilddi VisualChildrenCount e.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

Commenti

FrameworkElement Nell'implementazione, l'unico indice valido è zero.In the FrameworkElement implementation, the only valid index is zero. Il modello di contenuto GetVisualChild per supporta uno o più elementi figlio, non una raccolta.The content model for GetVisualChild supports either zero or one child elements, not a collection.

Note per gli eredi

Questa implementazione è valida solo per gli elementi che non mantengono una raccolta più descrittiva di elementi figlio visivi.This implementation is only valid for elements that do not maintain any more descriptive collection of visual child elements. Qualsiasi elemento in cui è presente una raccolta di questo tipo deve eseguire l'override di questo metodo ed eseguire il mapping dell'indice a un indice equivalente nella raccolta di elementi figlio supportata da tale elemento.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. Un indice nell'intervallo compreso tra 0 VisualChildrenCount e (meno uno) deve restituire un elemento valido. qualsiasi altro indice deve generare un'eccezione non compresa nell'intervallo.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. Un esempio di un tipo di elemento che supporta una raccolta figlio e le GetVisualChild(Int32) sostituzioni per restituire più di un elemento Panelfiglio possibile è.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.

L'implementazione predefinita in FrameworkElement presuppone un solo elemento figlio visivo.The default implementation in FrameworkElement presumes only one visual child. Qualsiasi valore passato per index un valore diverso da zero causa la generazione di un'eccezione.Any value passed for index other than zero causes an exception to be thrown. Molti elementi comuni, ad esempio elementi Decorator, strumenti decorativi o elementi con rendering specializzato, eseguono FrameworkElement l'override dell'implementazione (dell'implementazione dalle classi base intermedie).Several common elements, such as decorators, adorners, or elements with specialized rendering, override the FrameworkElement implementation (of the implementation from intermediate base classes). Alcune implementazioni continuano a applicare un elemento figlio visivo mentre altre consentono una raccolta.Some implementations still enforce one visual child whereas others allow a collection.

Si applica a