IXamlNameResolver Schnittstelle

Definition

Beschreibt einen Dienst, von dem nach dem XAML-Namen angegebene Objekte zurückgegeben werden können, oder von dem alternativ ein Token zurückgegeben wird, das die Namensauflösung zurückstellt. Vom Dienst kann auch ein aufzählbarer Satz aller benannten Objekte zurückgegeben werden, die im XAML-Namescope enthalten sind.

public interface class IXamlNameResolver
public interface IXamlNameResolver
type IXamlNameResolver = interface
Public Interface IXamlNameResolver

Hinweise

Diese Schnittstelle ist nicht für die externe Implementierung von typischen XAML-Szenarien vorgesehen, da es sich um einen Dienst handelt. Dieser Dienst ermöglicht Markuperweiterungen und Typkonvertern die Auflösung von XAML-Namen in andere Objekte aus derselben XAML-Quelle, während sie sich weiterhin in einer XAML-Knotendarstellung befinden. Der Dienst kann verwendet werden, um Weiterleitungsbezüge für jeden Mechanismus aufzulösen, der auf XAML-Namen für den nichtlinearen Zugriff auf die umgebende XAML-Produktion basiert. Weitere Informationen finden Sie unter Typkonverter und Markuperweiterungen für XAML.

Typkonverter und Markuperweiterungen können IXamlNameResolver als Dienst im Dienstkontext abfragen, der von einem XAML-Objektautor bereitgestellt wird, wenn der XAML-Objektautor das Wertkonvertierungsverhalten aufruft. Weitere Informationen finden Sie unter Typkonverter und Markuperweiterungen für XAML- und Dienstkontexte, die für Typkonverter und Markuperweiterungen verfügbar sind.

Dieser Dienst stellt eine API zur Verfügung, die die Namenauflösung zurückgibt. Die von dem Dienst implementierte Metapher besteht darin, dass Namen, die in einem ersten Pass nicht mit einem Teilnamenobjektdiagramm aufgelöst werden können, gespeichert und verwendet werden, um das Fixuptoken zu erstellen. Im Standardverhalten werden alle solchen Namen für einen anderen Lösungsversuch an einen zweiten Pass übermittelt. Auf dem zweiten Pass ist das gesamte Name-Objektdiagramm abgeschlossen, und alle Fixuptoken können aufgelöst werden.

Hinweis

Selbst wenn sie von einer bestimmten Implementierung zulässig sind, weisen Weiterleitungsbezüge in XAML zwangsläufig Leistungsfolgen auf. Als bewährte Methode für Produktionsqualitäts-XAML vermeiden Sie weiterleitungsbezogene Verweise immer möglich.

Eigenschaften

IsFixupTokenAvailable

Ruft einen Wert ab, der bestimmt, ob der Aufruf der GetFixupToken(IEnumerable<String>, Boolean)-Methode möglich ist, um einen Namen in ein Token für Vorwärtsauflösung aufzulösen.

Methoden

GetAllNamesAndValuesInScope()

Gibt einen aufzählbaren Satz aller benannten Objekte im XAML-Namescope zurück.

GetFixupToken(IEnumerable<String>)

Gibt ein Objekt zurück, das bestimmte Markupmuster korrigieren kann, die Vorwärtsverweise erzeugen.

GetFixupToken(IEnumerable<String>, Boolean)

Gibt ein Objekt zurück, das bestimmte Markupmuster korrigieren kann, die Vorwärtsverweise erzeugen.

Resolve(String)

Löst ein Objekt aus einem Namensverweis auf.

Resolve(String, Boolean)

Löst ein Objekt von einem Namensverweis auf und stellt einen Nachverfolgungswert bereit, durch den angegeben wird, ob das Objekt vollständig zu Objektdiagrammzwecken initialisiert wurde.

Ereignisse

OnNameScopeInitializationComplete

Tritt auf, wenn von einem XAML-Prozessor alle relevanten Namen zur Unterstützung des XAML-Namescopes registriert wurden.

Gilt für

Siehe auch