INameScope Schnittstelle

Definition

Definiert einen Vertrag dafür, wie in einem bestimmten XAML-Namensbereich auf Namen von Elementen zugegriffen werden soll und wie die Eindeutigkeit von Namen innerhalb dieses XAML-Namensbereichs durchgesetzt wird.

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

Hinweise

Diese Schnittstelle wird durch Klassen implementiert, die untergeordnete Elemente enthalten, die durch die Vorlage oder die Verzögerungsmetapher wiederverwendet werden sollen. Vorlagen, Fabriken und ähnliche Konstrukte müssen eindeutige XAML-Namescopes aufweisen, die von einem Hauptobjektdiagramm und Stamm-XAML getrennt sind. Das Prinzip hier ist, dass es keine Namenkollisionen geben sollte, wenn Objekte, die aus diesen untergeordneten Elementen erstellt wurden, in das Objektdiagramm einer Anwendung eingeführt werden, und so dass DOM-Vorgänge und XAML-Referenztechniken, die auf den Namenbezeichner basieren, auf die Name eindeutigkeit in jedem XAML-Namescope basieren können.

In früheren Versionen der .NET Framework ist diese Schnittstelle in der WPF-spezifischen Assembly WindowsBase vorhanden. In .NET Framework 4 INameScope befindet sich die System.Xaml-Assembly. Weitere Informationen finden Sie unter Types Migrated from WPF to System.Xaml.

Hinweise zur WPF-Verwendung

Diese Schnittstelle wird von der WPF-Klasse NameScopeimplementiert. Die meisten XAML-Namescope-Vorgänge in WPF funktionieren mithilfe von Instanzen, aber Informationen werden gelegentlich intern INameScope mithilfe NameScope von Verweisen kommuniziert.

Beispiele für WPF-Klassen, die eine Fabrik- oder Verzögerungsmetapher verwenden, die mit XAML-Darstellung kombiniert werden, sind Style und FrameworkTemplate. Diese Implementierungen basieren in der Regel auf den expliziten Versionen der von der NameScope Klasse verfügbaren Schnittstellenmethoden.

Methoden

FindName(String)

Gibt ein Objekt zurück, das über den bereitgestellten kennzeichnenden Namen verfügt.

RegisterName(String, Object)

Registriert den angegebenen Namen beim aktuellen XAML-Namensbereich.

UnregisterName(String)

Hebt die Registrierung des angegebenen Namens beim aktuellen XAML-Namensbereich auf.

Gilt für:

Siehe auch