Language

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 アセンブリにあります。 詳細については、「 WPF から System.Xaml に移行された型」を参照してください。

WPF の使用に関する注意事項

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

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

メソッド

名前 説明
FindName(String)

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

RegisterName(String, Object)

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

UnregisterName(String)

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

適用対象

こちらもご覧ください