INameScope インターフェイス

定義

特定の XAML 名前スコープ内で要素の名前にアクセスする方法、およびその XAML 名前スコープ内で名前の一意性を確保する方法のコントラクトを定義します。

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

注釈

このインターフェイスは、テンプレートを使用して再利用したり、メタファーを遅延させたりすることを意図した子要素を持つクラスによって実装されます。 テンプレート、ファクトリ、および同様のコンストラクトには、メイン オブジェクト グラフとルート XAML とは別の一意の XAML 名前スコープが必要です。 ここでの原則は、これらの子要素から作成されたオブジェクトがアプリケーションのオブジェクト グラフに導入されたときに名前の競合が発生しないようにし、名前識別子に依存する DOM 操作と XAML 参照手法が各 XAML 名前スコープの名前の一意性に依存できるようにすることです。

以前のバージョンの.NET Frameworkでは、このインターフェイスは WPF 固有のアセンブリ WindowsBase に存在しました。 .NET Framework 4 では、 INameScope は System.Xaml アセンブリにあります。 詳細については、「 Types Migrated from WPF to System.Xaml」を参照してください。

WPF の使用上の注意

このインターフェイスは、WPF クラス NameScopeによって実装されます。 WPF のほとんどの XAML 名前スコープ操作はインスタンスを使用して動作しますが、情報は参照を使用NameScopeINameScopeして内部的に伝達される場合があります。

ファクトリを使用するか、XAML 表現と組み合わせたメタファーを遅延させる WPF クラスの例として、 と FrameworkTemplateがありますStyle。 これらの実装は、通常、 クラスから使用できるインターフェイス メソッドの明示的なバージョンに NameScope 依存します。

メソッド

FindName(String)

指定された識別名を持つオブジェクトを返します。

RegisterName(String, Object)

現在の XAML 名前スコープに指定された名前を登録します。

UnregisterName(String)

指定された名前を現在の XAML 名前スコープから登録解除します。

適用対象

こちらもご覧ください