この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

FrameworkElement.Name プロパティ

 

公開日: 2016年10月

要素の識別名を取得または設定します。 この名前は参照を提供するため、イベント ハンドラー コードなどの分離コードは、XAML プロセッサによる処理の際に、構築された後のマークアップ要素を参照できます。

名前空間:   System.Windows
アセンブリ:  PresentationFramework (PresentationFramework.dll 内)

[LocalizabilityAttribute(LocalizationCategory.NeverLocalize)]
public string Name { get; set; }

プロパティ値

Type: System.String

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

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

このプロパティは、本質的には、WPF フレームワーク レベルの便利なプロパティを設定を提供、 XAMLx:Name Directiveです。 

名は、名前スコープ内で一意でなければなりません。 詳細については、次を参照してください。 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 Directiveによって定義された、XAML仕様です。 最も顕著なNameはアルファベットまたはアンダー スコア文字 (_) で始める必要があるあり、アルファベット、数字、またはアンダー スコアのみを含める必要があります。 詳細については、次を参照してください。 WPF XAML 名前スコープです。

Name アニメーション化することはできませんのほとんどの依存関係プロパティの 1 つです (IsAnimationProhibitedtrueメタデータに) 名前そのものがアニメーションを対象とするために不可欠であるためです。 データ バインディング、Name技術的に可能ですは、非常に一般的ではないため、データにバインドされたNameプロパティのメインの意図された目的に使用できません: 分離コードの識別子の接続ポイントを提供します。

識別子のフィールド

NameProperty

メタデータ プロパティに設定します。true

IsAnimationProhibited

次の例のセット、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); 

.NET Framework
3.0 以降で使用可能
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
トップに戻る
表示: