INameScope Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |