Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento příklad popisuje, jak pomocí FindName metody najít prvek podle jeho Name hodnoty.
Příklad
V tomto příkladu je metoda najít konkrétní prvek podle jeho názvu zapsána jako funkce obslužné rutiny události spouštěné tlačítkem.
stackPanel je Name kořenového FrameworkElement, který se prohledává, a ukázková metoda pak vizuálně označuje nalezený prvek tím, že ho přetypuje jako TextBlock a změní jednu z TextBlock viditelných vlastností uživatelského rozhraní.
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
Poznámka:
Metoda FindName najde pouze elementy, které jsou součástí názvového oboru XAML. Pokud programově přidáte prvek do stromu objektů po načtení XAML, hodnota Name nebo x:Name se automaticky nezaregistruje v názvovém oboru XAML. Chcete-li, aby byl dynamicky přidaný prvek dohledatelný podle názvu, zavolejte RegisterName na XAML namescope (obvykle stránku nebo kořen okna) předtím, než přidáte prvek do nadřazeného kontejneru. Další informace naleznete v tématu XAML Namescopes.
.NET Desktop feedback