Freigeben über


INameScope Schnittstelle

Definition

Definiert einen Vertrag für den Zugriff auf Namen von Elementen innerhalb eines bestimmten XAML-NameScopes und das Erzwingen der Eindeutigkeit von Namen innerhalb dieses XAML-NameScopes.

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

Hinweise

Diese Schnittstelle wird von Klassen implementiert, die untergeordnete Elemente aufweisen, die über die Vorlage oder zurückstellende Metapher 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 Namenskonflikte geben sollte, wenn Objekte, die aus diesen untergeordneten Elementen erstellt werden, in das Objektdiagramm einer Anwendung eingeführt werden, und damit DOM-Vorgänge und XAML-Referenztechniken, die auf den Namensbezeichner basieren, auf die Eindeutigkeit des Namens in jedem XAML-NameScope basieren können.

In früheren Versionen von .NET Framework war 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 "Von WPF zu System.Xaml migrierte Typen".

WPF-Verwendungshinweise

Diese Schnittstelle wird von der WPF-Klasse NameScopeimplementiert. Die meisten XAML-NameScope-Vorgänge in WPF werden mithilfe NameScope von Instanzen ausgeführt, informationen werden jedoch gelegentlich intern mithilfe INameScope von Verweisen kommuniziert.

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

Methoden

Name Beschreibung
FindName(String)

Gibt ein Objekt zurück, das den angegebenen Identifikationsnamen aufweist.

RegisterName(String, Object)

Registriert den bereitgestellten Namen im aktuellen XAML-NameScope.

UnregisterName(String)

Hebt die Registrierung des angegebenen Namens aus dem aktuellen XAML-NameScope auf.

Gilt für:

Weitere Informationen