Partager via


FrameworkElement.GetVisualChild(Int32) Méthode

Définition

Substitue GetVisualChild(Int32) et retourne un enfant à l’index spécifié tiré d’une collection d’éléments enfants.

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

Paramètres

index
Int32

Index de base zéro de l’élément enfant demandé dans la collection.

Retours

Élément enfant demandé. La valeur ne doit pas retourner null ; si l’index fourni dépasse la plage établie, une exception est levée.

Exemples

L’exemple suivant montre comment un ornement personnalisé utilise les valeurs déclarées par un VisualCollection qu’il conserve pour ses enfants visuels multiples. Ces valeurs sont signalées par le biais des remplacements de VisualChildrenCount et 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

Remarques

Dans l’implémentation FrameworkElement , le seul index valide est zéro. Le modèle de contenu pour GetVisualChild prend en charge zéro ou un élément enfant, pas une collection.

Notes pour les héritiers

Cette implémentation n’est valide que pour les éléments qui ne conservent pas de collection plus descriptive d’éléments enfants visuels. Tout élément disposant d’une telle collection doit remplacer cette méthode et mapper l’index à un index équivalent dans la collection d’éléments enfants pris en charge par cet élément. Un index dans la plage de zéro à VisualChildrenCount (moins un) doit retourner un élément valide ; tout autre index doit lever une exception hors plage. Un exemple de type d’élément qui prend en charge une collection enfant et remplace GetVisualChild(Int32) pour retourner plusieurs enfants possibles est Panel.

L’implémentation par défaut dans FrameworkElement suppose qu’un seul enfant visuel. Toute valeur passée pour index autre que zéro entraîne la levée d’une exception. Plusieurs éléments courants, tels que les décorateurs, les ornements ou les éléments avec un rendu spécialisé, remplacent l’implémentation FrameworkElement (de l’implémentation à partir de classes de base intermédiaires). Certaines implémentations appliquent toujours un enfant visuel, tandis que d’autres autorisent une collection.

S’applique à