FrameworkElement.GetVisualChild(Int32) Metodo

Definizione

Esegue l'override di GetVisualChild(Int32) e restituisce un elemento figlio in corrispondenza dell'indice specificato da una raccolta di elementi figlio.

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

Indice in base zero dell'elemento figlio richiesto nella raccolta.

Restituisce

Elemento figlio richiesto. Non deve essere restituito un valore null. Se l'indice fornito non è compreso nell'intervallo, viene generata un'eccezione.

Esempio

Nell'esempio seguente viene illustrato come un adornatore personalizzato usi i valori dichiarati da un VisualCollection oggetto che gestisce per più elementi visivi figlio. Questi valori vengono segnalati tramite override di VisualChildrenCount e 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

Nell'implementazione l'unico FrameworkElement indice valido è zero. Il modello di contenuto per GetVisualChild supporta zero o uno elementi figlio, non una raccolta.

Note per gli eredi

Questa implementazione è valida solo per gli elementi che non mantengono una raccolta più descrittiva di elementi figlio visivi. Qualsiasi elemento con tale raccolta deve eseguire l'override di questo metodo e eseguire il mapping dell'indice a un indice equivalente nell'insieme di elementi figlio supportato da tale elemento. Un indice nell'intervallo da zero a VisualChildrenCount (meno uno) deve restituire un elemento valido. Qualsiasi altro indice deve generare un'eccezione out-of-range. Un esempio di tipo di elemento che supporta una raccolta figlio e esegue l'override GetVisualChild(Int32) per restituire più di un possibile elemento figlio è Panel.

L'implementazione predefinita in FrameworkElement presuppone un solo elemento figlio visivo. Qualsiasi valore passato per index diverso da zero causa la generazione di un'eccezione. Diversi elementi comuni, ad esempio decoratori, adornatori o elementi con rendering specializzato, eseguire l'override dell'implementazione FrameworkElement (dell'implementazione da classi di base intermedie). Alcune implementazioni applicano ancora un elemento figlio visivo, mentre altri consentono una raccolta.

Si applica a