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 は、は、システムの .xaml アセンブリにあります。 詳細については、「 Types Migrated from WPF to System.Xaml」を参照してください。

WPF の使用上の注意

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

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

メソッド

FindName(String)

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

RegisterName(String, Object)

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

UnregisterName(String)

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

適用対象

こちらもご覧ください