FrameworkContentElement.Name FrameworkContentElement.Name FrameworkContentElement.Name FrameworkContentElement.Name Property

定義

要素の識別名を取得または設定します。Gets or sets the identifying name of the element. この名前はインスタンス参照を提供するため、XAMLXAML の解析中に参照が構築されると、プログラムの分離コード (イベント ハンドラー コードなど) は要素を参照できるようになります。The name provides an instance reference so that programmatic code-behind, such as event handler code, can refer to an element once it is constructed during parsing of XAMLXAML.

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; }
member this.Name : string with get, set
Public Property Name As String

プロパティ値

要素の名前。The name of the element.

実装

注釈

このプロパティの最も一般的な使用方法は、マークXAMLXAMLアップで要素名を指定する場合です。The most common usage of this property is when specifying a XAMLXAML element name in markup.

このプロパティは、基本的に、 XAMLXAML x:Name ディレクティブを設定するための WPF フレームワークレベルの便宜的なプロパティを提供します。This property essentially provides a WPF framework-level convenience property to set the XAMLXAML x:Name Directive.

コードからNameを取得することは一般的ではありません。既にコード内に適切な参照がある場合は、要素参照のメソッドとプロパティを呼び出すNameだけで、通常はを必要としません。Getting a Name from code is not common, because if you have the appropriate reference in code already, you can just call methods and properties on the element reference and do not generally need the Name. 例外は、文字列にオーバーロードされた意味がある場合、たとえば、にUIUIその名前を表示すると便利な場合です。An exception is if the string has some overloaded meaning, for instance if it is useful to display that name in UIUI. NameNameのがマークアップから設定されている場合は、コードからを設定することもお勧めしません。プロパティを変更しても、オブジェクト参照は変更されません。Setting a Name from code if the original Name was set from markup is also not recommended, and changing the property will not change the object reference. このようなオブジェクト参照は、読み込み中にXAMLXAML基になる名前スコープが明示的に作成された場合にのみ作成されます。Such object references are created only when the underlying namescopes are explicitly created during XAMLXAML loading.

既に読み込まれRegisterNameている要素のNameプロパティに対して効果的な変更を行うには、を明示的に呼び出す必要があります。You must specifically call RegisterName to make an effective change on the Name property of an already loaded element.

コードから設定Nameすることが重要なケースの1つは、ストーリーボードが実行される要素に名前を付けることです。One notable case where setting Name from code is important is for naming elements that storyboards will run against. 名前を登録する前に、をNameScopeインスタンス化してインスタンスを割り当てることが必要になる場合もあります。Before you can register a name, might also need to instantiate and assign a NameScope instance. 「例」または「ストーリーボードの概要」を参照してください。See the Example section, or Storyboards Overview.

コードNameからの設定には限られたアプリケーションがありますが、名前で要素を検索する方が一般的です。特に、ページをアプリケーションに再読み込みするナビゲーションモデルを使用していて、実行時コードが必ずしもコードビハインドであるとは限りません。それぞれのページ。Setting Name from code has limited applications, but looking up an element by name is more common, particularly if you are employing a navigation model where pages reload into the application and the run-time code is not necessarily the code-behind of that respective page. 任意FindName Nameのから使用できるユーティリティメソッドは、その要素の論理ツリー内の任意の要素を再帰的に検索できます。 FrameworkContentElementThe utility method FindName, which is available from any FrameworkContentElement, can find any element by Name in that element's logical tree recursively. または、のFindLogicalNode LogicalTreeHelper静的メソッドを使用することもできますName 。このメソッドは、引数として文字列を受け取ります。Or you can use the FindLogicalNode static method of LogicalTreeHelper, which also takes the Name string as an argument.

一般的に使用されるWindowルートPage要素 (など) は、 INameScopeインターフェイスを実装します。Commonly used root elements (Window, Page for example) implement the interface INameScope. このインターフェイスの実装では、その名前がスコープ内で明確になるようにする必要があります。Implementations of this interface are expected to enforce that names be unambiguous within their scope.

依存プロパティ情報Dependency Property Information

識別子フィールドIdentifier field NameProperty
メタデータプロパティがに設定されるtrueMetadata properties set to true IsAnimationProhibited

適用対象

こちらもご覧ください