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

プロパティ値

要素の名前です。

実装

属性

注釈

このプロパティの最も一般的な使用法は、マークアップで XAML 要素名を指定する場合です。

このプロパティは基本的に、XAML x:Name ディレクティブを設定するための WPF フレームワーク レベルの便利なプロパティを提供します。

コードから を Name 取得することは一般的ではありません。コード内に適切な参照が既にある場合は、要素参照のメソッドとプロパティを呼び出すだけで、通常は が Name必要ないためです。 例外は、文字列に何らかのオーバーロードされた意味がある場合です。たとえば、その名前を UI に表示すると便利な場合です。 元NameNameがマークアップから設定されている場合は from コードを設定することもお勧めしません。また、 プロパティを変更してもオブジェクト参照は変更されません。 このようなオブジェクト参照は、XAML の読み込み中に基になる名前スコープが明示的に作成された場合にのみ作成されます。

既に読み込まれている要素の プロパティを効果的に変更するには、 をName呼び出RegisterNameす必要があります。

コードからの設定 Name が重要な注目すべきケースの 1 つは、ストーリーボードが実行される要素に名前を付ける場合です。 名前を登録する前に、インスタンスをインスタンス化して割り当てる NameScope 必要がある場合もあります。 「例」セクションまたは 「ストーリーボードの概要」を参照してください。

コードから設定 Name するアプリケーションは限られていますが、名前で要素を検索する方が一般的です。特に、ページがアプリケーションに再読み込みされ、実行時コードがそのそれぞれのページの分離コードであるとは限りません。 ユーティリティ メソッド FindName(任意 FrameworkContentElementの から使用できます) は、その要素 Name の論理ツリー内で任意の要素を再帰的に検索できます。 または、 のLogicalTreeHelper静的メソッドをFindLogicalNode使用できます。これは、文字列をName引数として受け取ることもできます。

一般的に使用されるルート要素 (WindowPageたとえば) は、 インターフェイス を実装しますINameScope。 このインターフェイスの実装では、そのスコープ内で名前が明確であることを強制する必要があります。

依存プロパティ情報

識別子フィールド NameProperty
に設定されたメタデータ プロパティ true IsAnimationProhibited

適用対象

こちらもご覧ください