FrameworkContentElement.Name 屬性

定義

取得或設定項目的識別名稱。 此名稱會提供實例參考,讓程式設計程式碼後置,例如事件處理常式程式碼,可以在 XAML 剖析期間建構專案時參考元素。

public:
 property System::String ^ Name { System::String ^ get(); void set(System::String ^ value); };
[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
public string Name { get; set; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)>]
member this.Name : string with get, set
Public Property Name As String

屬性值

String

元素的名稱。

實作

屬性

備註

此屬性最常見的用法是在標記中指定 XAML 專案名稱時。

這個屬性基本上會提供 WPF 架構層級的便利屬性,以設定 XAML x:Name 指示詞

Name從程式碼取得並不常見,因為如果您已經有程式碼中的適當參考,您可以直接在專案參考上呼叫方法和屬性,而且通常 Name 不需要 。 例外狀況是,如果字串具有一些多載的意義,例如,如果在 UI 中顯示該名稱很有用。 Name如果未建議從標記設定原始 Name 程式碼,則設定來自程式碼的 ,而變更 屬性將不會變更物件參考。 只有在 XAML 載入期間明確建立基礎名稱範圍時,才會建立這類物件參考。

您必須特別呼叫 RegisterName ,才能對 Name 已載入專案的 屬性進行有效的變更。

有一個值得注意的案例,其中從程式碼設定 Name 很重要,就是命名腳本將針對其執行的專案。 您必須先具現化並指派 NameScope 實例,才能註冊名稱。 請參閱範例一節或 分鏡腳本概觀

從程式碼設定 Name 有有限的應用程式,但依名稱查閱元素比較常見,特別是當您採用導覽模型時,頁面會重載至應用程式,而執行時間程式碼不一定是該個別頁面的程式碼後置。 公用程式方法 FindName 可從任何 FrameworkContentElement 取得,可透過遞迴方式在該元素的邏輯樹狀結構中找到任何專案 Name 。 或者,您可以使用 的 FindLogicalNode LogicalTreeHelper 靜態方法,它也會採用 Name 字串做為引數。

常用的根項目 (WindowPage 例如) 實作 介面 INameScope 。 此介面的實作預期會在其範圍內強制執行該名稱不明確。

相依性屬性資訊

識別碼欄位 NameProperty
設定為 的中繼資料屬性 true IsAnimationProhibited

適用於

另請參閱