INameScope インターフェイス


特定の XAML 名前スコープ内で要素の名前にアクセスする方法、およびその XAML 名前スコープ内で名前の一意性を確保する方法のコントラクトを定義します。Defines a contract for how names of elements should be accessed within a particular XAML namescope, and how to enforce uniqueness of names within that XAML namescope.

public interface class INameScope
public interface INameScope
type INameScope = interface
Public Interface INameScope


このインターフェイスは、テンプレートまたは遅延比喩を通じて再利用することを意図した子要素を持つクラスによって実装されます。This interface is implemented by classes that have child elements that are intended to be reused through the template or defer metaphor. テンプレート、ファクトリ、および類似の構成体には、メインオブジェクトグラフとルート XAML とは別の一意の XAML 名前スコープが必要です。Templates, factories and similar constructs must have unique XAML namescopes that are separate from a main object graph and root XAML. ここでの原則は、これらの子要素から作成されたオブジェクトがアプリケーションのオブジェクトグラフに導入されるときに名前の競合が発生しないようにすることです。そのため、名前識別子に依存する DOM 操作および XAML 参照手法は、各 XAML 名前スコープの名前の一意性に依存する可能性があります。The principle here is that there should be no name collisions when objects created from those child elements are introduced to an application's object graph, and so that DOM operations and XAML reference techniques that rely on the name identifier can rely on name uniqueness in each XAML namescope.

以前のバージョンの .NET Framework では、このインターフェイスは WPF 固有のアセンブリ WindowsBase に存在していました。In previous versions of the .NET Framework, this interface existed in the WPF-specific assembly WindowsBase. .NET Framework 4 で INameScope は、は、システムの .xaml アセンブリにあります。In .NET Framework 4, INameScope is in the System.Xaml assembly. 詳細については、「 Types Migrated from WPF to System.Xaml」を参照してください。For more information, see Types Migrated from WPF to System.Xaml.

WPF の使用上の注意WPF Usage Notes

このインターフェイスは、WPF クラスによって実装され NameScope ます。This interface is implemented by the WPF class NameScope. WPF の XAML 名前スコープ操作のほとんどは、インスタンスを使用して動作し NameScope ますが、情報は参照を使用して内部的に伝達されることがあり INameScope ます。Most XAML namescope operations in WPF operate by using NameScope instances, but information is occasionally communicated internally by using INameScope references.

ファクトリまたは遅延メタファを使用する WPF クラスの例として、XAML 表現との組み合わせが Style FrameworkTemplate あります。Examples of WPF classes that use a factory or defer metaphor combined with XAML representation are Style and FrameworkTemplate. これらの実装は、通常、クラスから使用可能なインターフェイスメソッドの明示的なバージョンに依存して NameScope います。These implementations usually rely on the explicit versions of the interface methods available from the NameScope class.



指定された識別名を持つオブジェクトを返します。Returns an object that has the provided identifying name.

RegisterName(String, Object)

現在の XAML 名前スコープに指定された名前を登録します。Registers the provided name into the current XAML namescope.


指定された名前を現在の XAML 名前スコープから登録解除します。Unregisters the provided name from the current XAML namescope.