Freigeben über


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 von Klassen implementiert, die über untergeordnete Elemente verfügen, die über die Vorlage oder die Zurückstellungsmetapher wiederverwendet werden sollen. Vorlagen, Fabriken und ähnliche Konstrukte müssen über eindeutige XAML-Namescopes verfügen, die von einem Standard Objektdiagramm und stamm-XAML getrennt sind. Das Prinzip ist hier, dass es keine Namenskonflikte geben sollte, wenn Objekte, die aus diesen untergeordneten Elementen erstellt wurden, in das Objektdiagramm einer Anwendung eingeführt werden, sodass DOM-Vorgänge und XAML-Verweistechniken, die auf dem Namensbezeichner basieren, auf der Eindeutigkeit des Namens in jedem XAML-Namescope basieren können.

In früheren Versionen des .NET Framework war diese Schnittstelle in der WPF-spezifischen Assembly WindowsBase vorhanden. In .NET Framework 4 INameScope befindet sich in der 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 werden mithilfe NameScope von -Instanzen ausgeführt, aber Informationen werden gelegentlich intern mithilfe INameScope von Verweisen kommuniziert.

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

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:

Weitere Informationen