Delen via


Procedure: Een element zoeken op naam

In dit voorbeeld wordt beschreven hoe u de methode FindName gebruikt om een element te vinden op basis van de Name waarde.

Voorbeeld

In dit voorbeeld wordt de methode voor het vinden van een bepaald element op basis van de naam geschreven als de gebeurtenis-handler van een knop. stackPanel is het Name van de hoofdmap FrameworkElement wordt doorzocht en de voorbeeldmethode geeft vervolgens het gevonden element visueel aan door het element te casten als TextBlock en een van de zichtbare eigenschappen van TextBlock de gebruikersinterface te wijzigen.

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

Opmerking

De FindName methode vindt alleen elementen die deel uitmaken van de XAML-naamscoop. Als u programmatisch een element aan de objectstructuur toevoegt nadat XAML is geladen, worden de Name-waarde of x:Name-waarde van het element niet automatisch geregistreerd in de XAML-naamsruimte. Om ervoor te zorgen dat een dynamisch toegevoegd element vindbaar is op naam, roept u RegisterName aan op de XAML-naamscope (meestal het hoofdelement van de pagina of het venster) voordat u het element aan de bovenliggende container toevoegt. Zie XAML Namescopes voor meer informatie.