FrameworkElement.Name FrameworkElement.Name FrameworkElement.Name FrameworkElement.Name Property

定義

要素の識別名を取得または設定します。 この名前は参照を提供するため、イベント ハンドラー コードなどの分離コードは、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; }
member this.Name : string with get, set
Public Property Name As String

プロパティ値

要素の名前。 既定値は空の文字列です。

実装

次の例のセット、Nameプロパティをコードで、名前に、新しく作成し、登録とNameScope呼び出してRegisterNameします。 ストーリー ボードは、対象を設定する必要があるために、ここで示した手法は、ストーリー ボードでアニメーション化するための要件、 Name、し、オブジェクト参照の対象となることはできません。

//  
// Create a Rectangle
//
Rectangle myRectangle = new Rectangle();
myRectangle.Width = 200;
myRectangle.Height = 200;
myRectangle.Name = "myRectangle";
this.RegisterName(myRectangle.Name, myRectangle); 
'  
' Create a Rectangle
'
Dim myRectangle As New Rectangle()
myRectangle.Width = 200
myRectangle.Height = 200
myRectangle.Name = "myRectangle"
Me.RegisterName(myRectangle.Name, myRectangle)

注釈

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

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

名前は、名前スコープ内で一意である必要があります。 詳細については、次を参照してください。 WPF XAML 名前スコープします。

取得、Name内の要素を作成する場合のコードは一般的ではありません。 メソッドを呼び出すだけで済みます既に適切な参照をコードである場合と、要素のプロパティを参照し、一般的に必要ではない、Nameします。 この例外は場合、Name文字列は、オーバー ロードされたに意味を持ちますでその名前を表示すると便利な場合UIします。 設定、Name分離コードから場合元Nameマークアップから設定されたがしないでも、読み込み後、プロパティを変更する、XAML元のオブジェクト参照は変更されません。 基になる名前スコープが解析中に明示的に作成された場合にのみ、オブジェクト参照が作成されます。 具体的には呼び出す必要があるRegisterNameを効果的に変更する、Name既に読み込まれた要素のプロパティ。

1 つの重要な設定がの場合Nameコードからは重要なは、実行時に参照できるように、に対してはストーリー ボード要素の実行に名前を登録する場合。 名前を登録する前にインスタンス化を割り当てる必要がありますも、NameScopeインスタンス。 例のセクションを参照またはストーリー ボードの概要します。

設定Nameコードからは制限されていますが、アプリケーションして要素を取得するName方が一般的です。 1 つのシナリオでは、アプリケーションが、アプリケーションにページが再読み込みして、必ずしもそのページに対して定義されている分離コードが実行時のコードではありません場所は、ナビゲーション モデルをサポートするかどうかです。 ユーティリティ メソッドFindName、いずれかから利用できるFrameworkElementで要素を検索できますNameその要素の論理ツリーで、必要に応じて、ツリーを再帰的を検索します。 使用することができます、FindLogicalNodeの静的メソッドLogicalTreeHelper、により、Nameを引数として文字列。

通常使用されるルート要素 (WindowPageなど)、インターフェイスを実装してINameScopeします。 このインターフェイスの実装は、名は、スコープ内で明確であることを強制する必要があります。 このインターフェイスを定義するルート要素は、すべての名前スコープの動作の境界を定義することも、関連するAPIします。

Nameプロパティは、他のプロセスの識別子としても機能します。 たとえば、WPFオートメーション モデルを使用してNameクライアントとプロバイダーの AutomationId として。

使用する文字列値Nameによって、基になるいくつかの制限があるX:name ディレクティブによって定義された、XAML仕様。 最も注目に値する、Name文字またはアンダー スコア文字 (_) で始める必要があるあり、文字、数字、またはアンダー スコアのみを含める必要があります。 詳細については、次を参照してください。 WPF XAML 名前スコープします。

Name アニメーション化することはできません非常にいくつかの依存関係プロパティの 1 つです (IsAnimationProhibitedtrueメタデータで) 名自体は、アニメーションを対象とするために不可欠であるためです。 データ バインディング、Nameは技術的に可能ですが、ため、非常に一般的ではないシナリオは、データ バインドNameプロパティの主な目的を提供することはできません。 分離コードの識別子の接続ポイントを提供します。

依存プロパティ情報

識別子フィールドです。 NameProperty
メタデータのプロパティを設定するには true IsAnimationProhibited

適用対象