IXamlNameResolver 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.
Beschreibt einen Dienst, der Objekte zurückgeben kann, die durch DEN XAML-Namen angegeben werden, oder alternativ ein Token zurückgibt, das die Namensauflösung zurückgibt. Der Dienst kann auch einen enumerationsfähigen Satz aller benannten Objekte zurückgeben, die sich im XAML-NameScope befinden.
public interface class IXamlNameResolver
public interface IXamlNameResolver
type IXamlNameResolver = interface
Public Interface IXamlNameResolver
Hinweise
Diese Schnittstelle ist nicht für die externe Implementierung typischer XAML-Szenarien vorgesehen, da es sich um einen Dienst handelt. Dieser Dienst ermöglicht Markuperweiterungen und Typkonvertern, XAML-Namen in andere Objekte aus derselben XAML-Quelle aufzulösen, während sie sich noch in einer XAML-Knotendarstellung befinden. Der Dienst kann verwendet werden, um Weiterleitungsverweise für jeden Mechanismus aufzulösen, der auf XAML-Namen für nichtlinearen Zugriff auf die umgebende XAML-Produktion basiert. Weitere Informationen finden Sie unter Typkonverter und Markuperweiterungen für XAML.
Typkonverter und Markuperweiterungen können als Dienst im Dienstkontext abfragen IXamlNameResolver , der von einem XAML-Objektschreiber bereitgestellt wird, wenn der XAML-Objektschreiber 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 macht eine API verfügbar, die die Namensauflösung zurückstellen kann. Die vom Dienst implementierte Metapher besteht darin, dass Namen, die nicht in einem ersten Durchlauf für ein teilweises Namensobjektdiagramm aufgelöst werden können, gespeichert und zum Erstellen des Fixuptokens verwendet werden sollen. Im Standardverhalten werden alle solchen Namen für einen anderen Auflösungsversuch bei einem zweiten Durchlauf übermittelt. Im zweiten Durchlauf ist das allgemeine Namensobjektdiagramm abgeschlossen, und alle Fixuptoken können aufgelöst werden.
Note
Auch wenn sie durch eine bestimmte Implementierung zulässig sind, haben Vorwärtsverweise in XAML zwangsläufig Leistungsfolgen. Als bewährte Methode für XAML in Produktionsqualität vermeiden Sie nach Möglichkeit Vorwärtsverweise.
Eigenschaften
| Name | Beschreibung |
|---|---|
| IsFixupTokenAvailable |
Ruft einen Wert ab, der bestimmt, ob der Aufruf GetFixupToken(IEnumerable<String>, Boolean) verfügbar ist, um einen Namen in ein Token für die Weiterleitungsauflösung aufzulösen. |
Methoden
| Name | Beschreibung |
|---|---|
| GetAllNamesAndValuesInScope() |
Gibt einen enumerationsfähigen Satz aller benannten Objekte im XAML-NameScope zurück. |
| GetFixupToken(IEnumerable<String>, Boolean) |
Gibt ein Objekt zurück, das für bestimmte Markupmuster korrigiert werden kann, die Vorwärtsverweise erzeugen. |
| GetFixupToken(IEnumerable<String>) |
Gibt ein Objekt zurück, das für bestimmte Markupmuster korrigiert werden kann, die Vorwärtsverweise erzeugen. |
| Resolve(String, Boolean) |
Löst ein Objekt aus einem Namensverweis auf und stellt einen Nachverfolgungswert bereit, der meldet, ob das Objekt vollständig für Objektdiagrammzwecke initialisiert ist. |
| Resolve(String) |
Löst ein Objekt aus einem Namensverweis auf. |
Ereignisse
| Name | Beschreibung |
|---|---|
| OnNameScopeInitializationComplete |
Tritt auf, wenn ein XAML-Prozessor alle relevanten Namen für den zugrunde stehenden XAML-NameScope registriert hat. |