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 名前スコープ操作はインスタンスを使用して動作しますが、情報は参照を使用 NameScope して INameScope 内部的に伝達される場合があります。

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

メソッド

FindName(String)

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

RegisterName(String, Object)

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

UnregisterName(String)

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

適用対象

こちらもご覧ください