Freigeben über


XamlSchemaContext Klasse

Definition

Definiert einen wiederverwendbaren Kontext zum Interpretieren oder Zuordnen von XAML-Typen und der Typen in den Assemblys, die ihnen zugrunde liegen.

public ref class XamlSchemaContext
public class XamlSchemaContext
type XamlSchemaContext = class
Public Class XamlSchemaContext
Vererbung
XamlSchemaContext

Hinweise

Ein XAML-Schemakontext stellt eine Ebene der Abstraktion zwischen einem Schema oder Vokabular für XAML und einer bestimmten Parserimplementierung bereit. Durch einfügen des Konzepts eines Schemakontexts kann das Schema mit verschiedenen XAML-Parsern verwendet werden, und der Schemakontext füllt die Details aus, die für die Interaktion mit einem bestimmten XAML-Parser erforderlich sind. Beispielsweise stellt der XAML-Schemakontext Abfrage-APIs bereit, die sich auf XAML-Konzepte beziehen oder mit der CLR-Bindung an das XAML-Typsystem. Der XAML-Schemakontext ist auch für die Verwaltung der Assemblyliste geladener Assemblys verantwortlich, die definiert, wo ein XAML-Parser nach Sicherungstypen sucht.

Hinweise für Vererber

In einem AppDomain, kann eine XamlSchemaContext zwischen mehreren Anrufern geteilt werden, die sowohl voll als auch teilweise vertrauenswürdige Anrufer enthalten. Diese Situation ist in Frameworks wie WPF vorhanden, die teilweise vertrauenswürdigen Zugriff auf das XAML-Laden für Teile des WPF-Anwendungsmodells bieten. Die Standardimplementierung XamlSchemaContext bietet Sicherheitsvorkehrungen in diesem Szenario, indem alle eigenschaften und Einstellungen unveränderlich bleiben. Abgeleitete Implementierungen sollten auch das Folgen dieses Modells der Unveränderlichkeit für Eigenschaften und Einstellungen eines XAML-Schemakontexts berücksichtigen.

Die XamlSchemaContext Basisklasse ist so konzipiert, dass Nachschlagevorgänge keine extern beobachteten Nebenwirkungen aufweisen. Die Typen, auf die von XamlSchemaContext APIs in der Basisklasse verwiesen wird, z. B XamlType . oder XamlMember, erzeugen auch keine Nebenwirkungen von Nachschlagevorgängen. Alle Daten, die erforderlich sind, um eine Schemaermittlung vorzunehmen, sollten aus der Konstruktion und den Einstellungen der AppDomain. Beachten Sie, dass keine Nachschlage-APIs auf explizit übergebene Dienste angewiesen sind; Ihre Eingabe basiert nur auf Zeichenfolgeneingaben.

Die XamlSchemaContext Basisklasse und XamlType XamlMember alle Threadsicher in ihren Basisimplementierungen. Wenn Sie von XamlSchemaContext XAML-Typsystemklassen wie z XamlType . B. und , XamlMember abgeleitet werden, können Sie auswählen, ob sich Ihre Klassen als threadsicher verhalten.

Konstruktoren

XamlSchemaContext()

Initialisiert eine neue Instanz der XamlSchemaContext-Klasse.

XamlSchemaContext(IEnumerable<Assembly>)

Initialisiert eine neue Instanz der XamlSchemaContext-Klasse auf der Grundlage eines Satzes von Verweisassemblys.

XamlSchemaContext(IEnumerable<Assembly>, XamlSchemaContextSettings)

Initialisiert eine neue Instanz der XamlSchemaContext-Klasse auf Grundlage eines Satzes von Verweisassemblys und eines Einstellungsobjekts.

XamlSchemaContext(XamlSchemaContextSettings)

Initialisiert eine neue Instanz der XamlSchemaContext-Klasse auf der Grundlage eines Einstellungsobjekts.

Eigenschaften

FullyQualifyAssemblyNamesInClrNamespaces

Ruft einen Wert ab, der angibt, ob ein XAML-Schema und der Kontext vollqualifizierte Assemblynamen in den von der Such-API zurückgegebenen Werten verwenden.

ReferenceAssemblies

Ruft einen aufzählbaren Satz von Verweisassemblys für den XAML-Schemakontext ab.

SupportMarkupExtensionsWithDuplicateArity

Ruft einen Wert ab, der angibt, ob ein XAML-Schema und der Kontext Markuperweiterungen unterstützen, in denen zwei Konstruktoren mit der gleichen Stelligkeit (Anzahl von Eingabeparametern) enthalten sind.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Finalize()

Stellt eine nicht standardmäßige Finalize-Implementierung bereit, in der Dispose nicht aufgerufen wird.

GetAllXamlNamespaces()

Sucht die in dieser XamlSchemaContext-Klasse enthaltenen Assemblys und gibt einen Satz von Namespaces zurück.

GetAllXamlTypes(String)

Sucht die in dieser XamlSchemaContext-Klasse enthaltenen Assemblys und gibt einen Satz von Typen aus dem angegebenen XAML-Namespace zurück.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetPreferredPrefix(String)

Ruft beim Zuordnen des angegebenen XAML-Namespaces eine Zeichenfolge ab, die als bevorzugtes Präfix für Consumer angegeben wird.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetValueConverter<TConverterBase>(Type, XamlType)

Gibt einen Wertkonverter zurück, der eine Konvertierung in den angeforderten targetType vornehmen kann.

GetXamlDirective(String, String)

Gibt einen XamlDirective-Wert zurück, der eine Direktive darstellt (entweder für die XAML-Sprache oder für eine bestimmte Implementierung).

GetXamlType(String, String, XamlType[])

Gibt einen XamlType zurück, der auf einem XAML-Namespace und einer Zeichenfolge für den Typnamen basiert. Diese Signatur kann die Typargumente für Fälle angeben, bei denen der gewünschte Typ ein generischer Typ ist.

GetXamlType(Type)

Gibt ein XamlType-Objekt zurück, das auf einem CLR-Typbezeichner basiert.

GetXamlType(XamlTypeName)

Gibt ein XamlType-Objekt zurück, das auf einem XAML-Systemtypnamen basiert.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnAssemblyResolve(String)

Wird aufgerufen, wenn für Vorgänge mithilfe des Schemakontexts eine Assembly aufgelöst wird, die für die Auflösung des darin enthaltenen XAML-Namespaces erforderlich ist.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TryGetCompatibleXamlNamespace(String, String)

Gibt den Erfolg oder den Fehler der Anforderung eines kompatiblen XAML-Namespaces zurück. Bei einer erfolgreichen Anforderung wird dieser XAML-Namespace als Out-Parameter gemeldet.

Gilt für