Partager via


Guide pratique pour rechercher un élément par son nom

Cet exemple décrit comment utiliser la FindName méthode pour rechercher un élément par sa Name valeur.

Exemple :

Dans cet exemple, la méthode permettant de trouver un élément particulier par son nom est écrite en tant que gestionnaire d’événements d’un bouton. stackPanel est la racine Name de FrameworkElement recherchée, et l'exemple de méthode indique ensuite visuellement l'élément trouvé en le convertissant en TextBlock et en modifiant l'une des propriétés d'interface utilisateur visibles TextBlock.

void Find(object sender, RoutedEventArgs e)
{
    object wantedNode = stackPanel.FindName("dog");
    if (wantedNode is TextBlock)
    {
        // Following executed if Text element was found.
        TextBlock wantedChild = wantedNode as TextBlock;
        wantedChild.Foreground = Brushes.Blue;
    }
}
Private Sub Find(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim wantedNode As Object = stackPanel.FindName("dog")
    If TypeOf wantedNode Is TextBlock Then
        ' Following executed if Text element was found.
        Dim wantedChild As TextBlock = TryCast(wantedNode, TextBlock)
        wantedChild.Foreground = Brushes.Blue
    End If
End Sub

Note

La FindName méthode recherche uniquement les éléments qui font partie de la portée de nom XAML. Si vous ajoutez un élément à l'arborescence d'objets par programmation après le chargement du XAML, la valeur de l’élément Name ou x:Name ne s'enregistre pas automatiquement dans l'espace de noms XAML. Pour rendre un élément ajouté dynamiquement accessible par nom, appelez RegisterName sur le nomscope XAML (généralement la page ou la racine de la fenêtre) avant d’ajouter l’élément au conteneur parent. Pour plus d’informations, consultez xaml Namescopes.