Compartilhar via


Como localizar um elemento por seu nome

Este exemplo descreve como usar o método FindName para localizar um elemento pelo seu valor Name.

Exemplo

Neste exemplo, o método para localizar um elemento específico por seu nome é escrito como o manipulador de eventos de um botão. stackPanel é o Name do FrameworkElement raiz que está sendo pesquisado e o método de exemplo indica visualmente o elemento encontrado, convertendo-o como TextBlock e alterando uma das propriedades da interface do usuário TextBlock visíveis.

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

Observação

O FindName método localiza apenas elementos que fazem parte do namescope XAML. Se você adicionar um elemento à árvore de objetos programaticamente após o carregamento do XAML, o valor do elemento ou Namex:Name não será registrado automaticamente na namescope XAML. Para tornar um elemento adicionado dinamicamente localizável pelo nome, execute RegisterName no escopo de nomes XAML (normalmente a raiz da página ou da janela) antes de adicionar o elemento ao contêiner pai. Para obter mais informações, consulte Namescopes XAML.