共用方式為


如何:依名稱尋找項目

此範例說明如何使用 FindName 方法按 Name 值尋找元素。

範例

在此範例中,按名稱尋找特定元素的方法會撰寫為按鈕的事件處理常式。 stackPanel 是要搜尋的根 NameFrameworkElement,而範例方法隨後會以視覺化方式表示找到的元素,方法是將其轉換成 TextBlock,並變更其中一個 TextBlock 可見的 UI 屬性。

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

備註

FindName 方法只會尋找屬於 XAML 名稱範圍一部分的元素。 如果您在載入 XAML 之後,以程式設計方式將元素新增至物件樹狀結構,則元素的 Namex:Name 值不會自動在 XAML 名稱範圍中註冊。 若要讓動態新增的元素可依名稱尋找,請先呼叫 RegisterName XAML 名稱範圍 (通常是頁面或視窗根目錄),再將元素新增至父容器。 如需詳細資訊,請參閱 XAML 名稱範圍