Übersicht über Typkonverter für XAMLType Converters for XAML Overview

Typkonverter stellen die Logik für einen Objekt-Writer bereit, der die Konvertierung von einer Zeichenfolge im XAML-Markup in bestimmte Objekte in einem Objektdiagramm vornimmt.Type converters supply logic for an object writer that converts from a string in XAML markup into particular objects in an object graph. In .NET Framework XAML Services muss der Typkonverter eine Klasse sein, die aus TypeConverterabgeleitet wird.In .NET Framework XAML Services, the type converter must be a class that derives from TypeConverter. Einige Konverter unterstützen zudem den XAML-Speicherpfad und können zum Serialisieren eines Objekts in ein Zeichenfolgenformular im Serialisierungsmarkup verwendet werden.Some converters also support the XAML save path and can be used to serialize an object into a string form in serialization markup. In diesem Thema wird beschrieben, wie und wann Typkonverter in XAML aufgerufen werden. Zudem enthält es Implementierungsratschläge für die Methodenüberschreibungen von TypeConverter.This topic describes how and when type converters in XAML are invoked, and provides implementation advice for the method overrides of TypeConverter.

TypkonvertierungskonzepteType Conversion Concepts

Im folgenden Abschnitt werden die grundlegenden Konzepte dahingehend erläutert, wie XAML Zeichenfolgen verwendet und inwiefern Objekt-Writer in .NET Framework XAML Services Typkonverter verwenden, um einige der Zeichenfolgenwerte zu verarbeiten, die in einer XAML-Quelle ermittelt werden.The following sections explain basic concepts about how XAML uses strings, and how object writers in .NET Framework XAML Services use type converters to process some of the string values that are encountered in a XAML source.

XAML- und ZeichenfolgenwerteXAML and String Values

Wenn Sie eine Attributwert in einer XAML-Datei festlegen, handelt es sich beim anfänglichen Typ dieses Werts um eine Zeichenfolge in einem allgemeinen Sinn und um einen Zeichenfolgenattributwert in einem XML-Sinn.When you set an attribute value in a XAML file, the initial type of that value is a string in a general sense, and a string attribute value in an XML sense. Auch andere Primitive wie Double sind anfängliche Zeichenfolgen für einen XAML-Prozessor.Even other primitives such as Double are initially strings to a XAML processor.

In den meisten Fällen benötigt ein XAML-Prozessor zwei Angaben, um einen Attributwert zu verarbeiten.In most cases, a XAML processor needs two pieces of information to process an attribute value. Die erste Angabe ist der Werttyp der Eigenschaft, die festgelegt wird.The first piece of information is the value type of the property that is being set. Jede Zeichenfolge, die einen Attributwert definiert, und in XAML verarbeitet wird, muss schließlich umgewandelt werden oder zu einem Wert dieses Typs aufgelöst werden.Any string that defines an attribute value and that is processed in XAML must ultimately be converted or resolved to a value of that type. Wenn es sich beim Wert um einen Primitiv handelt, den der XAML-Parser versteht (beispielsweise ein numerischer Wert), wird versucht, eine direkte Konvertierung der Zeichenfolge vorzunehmen.If the value is a primitive that is understood by the XAML parser (such as a numeric value), a direct conversion of the string is attempted. Wenn der Wert für das Attribut eine Aufzählung referenziert, wird der Name der angegebenen Zeichenfolge mit einer benannten Konstante in dieser Aufzählung abgeglichen.If the value for the attribute references an enumeration, the supplied string is checked for a name match to a named constant in that enumeration. Wenn es sich beim Wert weder um ein Primitiv handelt, den der Parser versteht, noch um einen Konstantennamen aus einer Aufzählung, muss der zutreffende Typ einen Wert oder Verweis bereitstellen können, der auf einer konvertierten Zeichenfolge beruht.If the value is neither a parser-understood primitive nor a constant name from an enumeration, the applicable type must be able to provide a value or reference that is based on a converted string.

Hinweis

XAML-Sprachdirektiven verwenden keine Typkonverter.XAML language directives do not use type converters.

Typkonverter und MarkuperweiterungenType Converters and Markup Extensions

Markuperweiterungen müssen durch einen XAML-Prozessor verarbeitet werden, bevor die Überprüfung auf Eigenschaftstyp und andere Überlegungen erfolgt.Markup extension usages must be handled by a XAML processor before it checks for property type and other considerations. Wenn beispielsweise eine als Attribut festzulegende Eigenschaft normalerweise eine Typkonvertierung aufweist, in einem bestimmten Fall jedoch durch eine Markuperweiterungsverwendung festgelegt wird, dann wird das Markuperweiterungsverhalten zuerst festgelegt.For example, if a property being set as an attribute normally has a type conversion, but in a particular case is set by a markup extension usage, then the markup extension behavior processes first. Eine allgemeine Situation, in der eine Markuperweiterung erforderlich ist, besteht im Erstellen eines Verweises auf ein vorhandenes Objekt.One common situation where a markup extension is necessary is to make a reference to an object that already exists. In diesem Szenario kann ein zustandsloser Typkonverter nur eine neue Instanz genieren, die möglicherweise nicht gewünscht ist.For this scenario, a stateless type converter can only generate a new instance, which might not be desirable. Weitere Informationen zur Markuperweiterungen finden Sie unter Markup Extensions for XAML Overview.For more information about markup extensions, see Markup Extensions for XAML Overview.

Systemeigene TypkonverterNative Type Converters

In den WPF- und .NET XAML-dienstimplementierungen gibt es bestimmte CLR-Typen, die systemeigenen Typ verfügen, jedoch die CLR-Typen sind nicht konventionell vorstellen als primitive.In the WPF and .NET XAML services implementations, there are certain CLR types that have native type conversion handling, however, those CLR types are not conventionally thought of as primitives. Ein Beispiel eines solchen Typs ist DateTime.An example of such a type is DateTime. Ein Grund dafür besteht in der Funktionsweise der .NET Framework-Architektur: Der Typ DateTime ist in „mscorlib“ definiert. Hierbei handelt es sich um die grundlegendste Bibliothek in .NET.One reason for this is how the .NET Framework architecture works: the type DateTime is defined in mscorlib, the most basic library in .NET. Es ist nicht zulässig,DateTime mit einem Attribut zu attribuieren, das aus einer anderen Assembly stammt, wodurch eine Abhängigkeit erschaffen wird (TypeConverterAttribute stammt aus dem System). Daher kann der gewöhnliche Typkonverter-Ermittlungsmechanismus durch die Attributierung nicht unterstützt werden.DateTime is not permitted to be attributed with an attribute that comes from another assembly that introduces a dependency (TypeConverterAttribute is from System); therefore, the usual type converter discovery mechanism by attributing cannot be supported. Stattdessen verfügt der XAML-Parser über eine Liste von Typen, für die die systemeigene Verarbeitung erforderlich ist, und diese Typen werden ähnlich wie echte Primitive verarbeitet.Instead, the XAML parser has a list of types that need native processing, and it processes these types similar to how the true primitives are processed. Im Fall von DateTimeumfasst diese Verarbeitung einen Aufruf von Parse.In the case of DateTime, this processing involves a call to Parse.

Implementieren eines TypkonvertersImplementing a Type Converter

In den folgenden Abschnitten wird die API der TypeConverter -Klasse erläutert.The following sections discuss the API of the TypeConverter class.

TypeConverterTypeConverter

Unter .NET Framework XAML Services sind alle Typkonverter, die für XAML-Zwecke verwendet werden, Klassen, die von der Basisklasse TypeConverterabgeleitet werden.Under .NET Framework XAML Services, all type converters that are used for XAML purposes are classes that derive from the base class TypeConverter. Die Klasse TypeConverter war in Versionen von .NET Framework vorhanden, als es XAML noch nicht gab. Eins der ursprünglichen TypeConverter -Szenarien bestand darin, die Zeichenfolgenkonvertierung für Eigenschafts-Editoren in visuellen Designern bereitzustellen.The TypeConverter class existed in versions of the .NET Framework before XAML existed; one of the original TypeConverter scenarios was to provide string conversion for property editors in visual designers.

Für XAML wird die Rolle von TypeConverter erweitert.For XAML, the role of TypeConverter is expanded. Für XAML-Zwecke ist TypeConverter die Basisklasse für das Bereitstellen von Unterstützung für bestimmte To- und From-Zeichenfolgekonvertierungen.For XAML purposes, TypeConverter is the base class for providing support for certain to-string and from-string conversions. Die From-Zeichenfolge ermöglicht das Analysieren eines Zeichenfolgenattributwerts aus XAML.From-string enables parsing a string attribute value from XAML. Die To-Zeichenfolge ermöglicht das erneute Verarbeiten eines Laufzeitwerts einer bestimmten Objekteigenschaft zurück in ein Attribut in XAML für die Serialisierung.To-string might enable processing a run-time value of a particular object property back into an attribute in XAML for serialization.

TypeConverter definiert vier Member, die für die Konvertierungen von to- und from-Zeichenfolgen für XAML-Verarbeitungszwecke relevant sind:TypeConverter defines four members that are relevant for converting to-string and from-string for XAML processing purposes:

Unter diesen Member lautet die wichtigste Methode ConvertFrom. Diese wandelt die Eingabezeichenfolge in den erforderlichen Objekttyp um.Of these members, the most important method is ConvertFrom, which converts the input string to the required object type. Die ConvertFrom -Methode kann implementiert werden, um einen größeren Typbereich in den gewünschten Zieltyp des Konverters zu konvertieren.The ConvertFrom method can be implemented to convert a wider range of types into the intended destination type of the converter. Daher kann sie Zwecke erfüllen, die über XAML hinausgehen wie das Unterstützen von Laufzeitkonvertierungen.Therefore, it can serve purposes that extend beyond XAML, such as supporting run-time conversions. Für die XAML-Verwendung ist jedoch nur der Codepfad wichtig, der eine String -Eingabe verarbeiten kann.However, for XAML use, only the code path that can process a String input is important.

Die zweitwichtigste Methode ist ConvertTo.The second most important method is ConvertTo. Wenn eine Anwendung in eine Markupdarstellung (beispielsweise wenn die Speicherung in XAML als Datei erfolgt) umgewandelt wird, wird ConvertTo im größeren Szenario eines XAML-Texts einbezogen, der von Writern in einer Markupdarstellung erstellt wird.If an application is converted to a markup representation (for example, if it is saved to XAML as a file), ConvertTo is involved in the larger scenario of a XAML text writers produce a markup representation. In diesem Fall besteht der wichtige Codepfad für XAML darin, wenn der Aufrufer einen destinationType von Stringweitergibt.In this case, the important code path for XAML is when the caller passes a destinationType of String.

CanConvertTo und CanConvertFrom sind Unterstützungsmethoden, die verwendet werden, wenn ein Dienst die Funktionen der TypeConverter -Implementierung abfragt.CanConvertTo and CanConvertFrom are support methods that are used when a service queries the capabilities of the TypeConverter implementation. Sie müssen diese Methoden implementieren, um true für typspezifische Klassen zurückzugeben, welche die entsprechenden Konvertierungsmethoden Ihres Konverters unterstützen.You must implement these methods to return true for type-specific cases that the equivalent conversion methods of your converter support. Für XAML-Zwecke bedeutet dies in der Regel den String -Typ.For XAML purposes, this generally means the String type.

Kulturinformations- und Typkonverter für XAMLCulture Information and Type Converters for XAML

Jede TypeConverter -Implementierung kann eindeutig interpretieren, was eine gültige Zeichenfolge für eine Konvertierung ist, und sie kann zudem die Typbeschreibung, die als Parameter weitergegeben wird, verwenden oder ignorieren.Each TypeConverter implementation can uniquely interpret what is a valid string for a conversion, and it can also use or ignore the type description that is passed as parameters. Eine wichtige Überlegung in Bezug auf die Kultur- und XAML-Typkonvertierung lautet wie folgt: Auch wenn die Verwendung von lokalisierbaren Zeichenfolgen als Attributwerten durch XAML unterstützt wird, können Sie diese lokalisierbaren Zeichenfolgen nicht als Typkonvertereingabe mit bestimmten Kulturanforderungen verwenden.An important consideration for culture and XAML type conversion is the following: although using localizable strings as attribute values is supported by XAML, you cannot use these localizable strings as type converter input with specific culture requirements. Diese Einschränkung besteht, da Typkonverter für XAML-Attributwerte ein zwangsläufig festes XAML-Sprachverarbeitungsverhalten umfassen, in dem die en-US -Kultur verwendet wird.This limitation is because type converters for XAML attribute values involve a necessarily fixed-language XAML-processing behavior that uses en-US culture. Weitere Informationen über entwicklungsgründe für diese Einschränkung finden Sie in der XAML-Sprachspezifikation ([MS-XAML-]) oder WPF-Globalisierung und Lokalisierung Übersicht.For more information about the design reasons for this restriction, see the XAML language specification ([MS-XAML]) or WPF Globalization and Localization Overview.

Beispielsweise können Kulturunterschiede in Kulturen ein Problem werden, in welchen anstelle eines Punkts als dezimales Trennzeichen ein Komma für die Zahlen im Zeichenfolgenformat verwendet wird.As an example where culture can be an issue, some cultures use a comma instead of a period as the decimal point delimiter for numbers in string form. Diese Verwendung führt zu einem Konflikt mit dem Verhalten, das viele vorhandenen Typkonverter aufweisen, was in der Verwendung eines Kommas als Trennzeichen besteht.This use collides with the behavior that many existing type converters have, which is to use a comma as a delimiter. Das Weitergeben einer Kultur über xml:lang in der umgebenden XAML löst das Problem nicht.Passing a culture through xml:lang in the surrounding XAML does not solve the issue.

Implementieren von ConvertFromImplementing ConvertFrom

Damit die TypeConverter -Methode für diesen Konverter als eine ConvertFrom -Implementierung verwendet werden kann, die XAML unterstützt, muss sie eine Zeichenfolge als den value -Parameter akzeptieren.To be usable as a TypeConverter implementation that supports XAML, the ConvertFrom method for that converter must accept a string as the value parameter. Wenn die Zeichenfolge ein gültiges Format aufweist und durch die TypeConverter -Implementierung konvertiert werden kann, muss das zurückgegebene Objekt eine Umwandlung zum Typ unterstützen, der durch die Eigenschaft erwartet wird.If the string is in a valid format and can be converted by the TypeConverter implementation, the returned object must support a cast to the type that is expected by the property. Andernfalls muss die ConvertFrom -Implementierung nullzurückgeben.Otherwise, the ConvertFrom implementation must return null.

Jede TypeConverter -Implementierung kann eindeutig interpretieren, was eine gültige Zeichenfolge für eine Konvertierung ausmacht, und sie kann zudem die Typbeschreibung oder Kulturkontexte verwenden oder ignorieren, die als Parameter weitergegeben werden.Each TypeConverter implementation can uniquely interpret what constitutes a valid string for a conversion, and it can also use or ignore the type description or culture contexts that are passed as parameters. Bei der WPF-XAML-Verarbeitung werden jedoch möglicherweise nicht in allen Fällen Werte an den Typbeschreibungskontext weitergegeben, und wird möglicherweise zudem nicht die Kultur auf Grundlage von xml:langweitergegeben.However, the WPF XAML processing might not pass values to the type description context in all cases and also might not pass culture based on xml:lang.

Hinweis

Verwenden Sie nicht die geschweiften Klammern ({}), insbesondere der öffnenden geschweiften Klammer ({}), als ein Element Ihres Zeichenfolgenformats.Do not use the braces ({}), specifically the opening brace ({), as an element of your string format. Diese Zeichen sind als ein Eintrag reserviert und dienen dem Beenden einer Markuperweiterungssequenz.These characters are reserved as the entry and exit for a markup extension sequence.

Es ist angemessen, eine Ausnahme auszulösen, wenn Ihr Typkonverter über Zugriff auf einen XAML-Dienst vom .NET Framework XAML Services-Objekt-Writer verfügen muss, der GetService -Aufruf, der für den Kontext ausgeführt wird, jedoch keinen Kontext für diesen Dienst zurückgibt.It is appropriate to throw an exception when your type converter must have access to a XAML service from the .NET Framework XAML Services object writer, but the GetService call that is made against the context does not return that service.

Implementieren von ConvertToImplementing ConvertTo

ConvertTo wird möglicherweise für die Serialisierungsunterstützung verwendet.ConvertTo is potentially used for serialization support. Die Serialisierungsunterstützung durch ConvertTo für Ihren benutzerdefinierten Typ und dessen Typkonverter ist nicht unbedingt erforderlich.Serialization support through ConvertTo for your custom type and its type converter is not an absolute requirement. Wenn Sie jedoch ein Steuerelement implementieren oder die Serialisierung als Bestandteil der Features oder zum Entwerfen Ihrer Klasse verwenden, sollten Sie ConvertToimplementieren.However, if you are implementing a control, or using serialization of as part of the features or design of your class, you should implement ConvertTo.

Damit die Verwendung als eine TypeConverter -Implementierung erfolgen kann, die XAML unterstützt, muss die ConvertTo -Methode für diesen Konverter eine Instanz des Typs (oder eines Werts) akzeptieren, die als der value -Parameter unterstützt wird.To be usable as a TypeConverter implementation that supports XAML, the ConvertTo method for that converter must accept an instance of the type (or a value) that is supported as the value parameter. Wenn der Parameter destinationType vom Typ Stringist, muss das zurückgegebene Objekt in der Lage sein, als Stringumgewandelt zu werden.When the destinationType parameter is of type String, the returned object must be able to be cast as String. Die zurückgegebene Zeichenfolge muss einen serialisierten Wert von valuedarstellen.The returned string must represent a serialized value of value. Im Idealfall sollte das von Ihnen ausgewählte Serialisierungsformat in der Lage sein, den gleichen Wert zu generieren, als wenn die Zeichenfolge an die ConvertFrom -Implementierung desselben Konverters weitergegeben werden würde, und zwar ohne erhebliche Informationsverluste.Ideally, the serialization format that you choose should be able to generate the same value as if that string were passed to the ConvertFrom implementation of the same converter, without significant loss of information.

Wenn der Wert weder serialisiert werden kann noch der Konverter die Serialisierung unterstützt, muss die ConvertTo -Implementierung null zurückgeben und kann eine Ausnahme auslösen.If the value cannot be serialized or the converter does not support serialization, the ConvertTo implementation must return null and can throw an exception. Wenn Sie jedoch Ausnahmen auslösen, sollten Sie die Unfähigkeit in Bezug auf die Verwendung dieser Konvertierung als Bestandteil Ihrer CanConvertTo -Implementierung melden, sodass die bewährte Vorgehensweise in Bezug auf die Überprüfung mit CanConvertTo zunächst darin besteht, dass die Vermeidung von Ausnahmen unterstützt wird.However, if you do throw exceptions, you should report the inability to use that conversion as part of your CanConvertTo implementation so that the best practice of checking with CanConvertTo first to avoid exceptions is supported.

Wenn der Parameter destinationType nicht vom Typ Stringist, können Sie Ihre eigene Konverterverarbeitung auswählen.If the destinationType parameter is not of type String, you can choose your own converter handling. Für gewöhnlich nehmen Sie eine Zurücksetzung auf die grundlegende Implementierungsverarbeitung vor, wodurch in der Basis ConvertTo eine bestimmte Ausnahme ausgelöst wird.Typically, you revert to base implementation handling, which in the base ConvertTo raises a specific exception.

Es ist angemessen, eine Ausnahme auszulösen, wenn Ihr Typkonverter über Zugriff auf einen XAML-Dienst vom .NET Framework XAML Services-Objekt-Writer verfügen muss, der GetService -Aufruf, der für den Kontext ausgeführt wird, jedoch keinen Kontext für diesen Dienst zurückgibt.It is appropriate to throw an exception when your type converter must have access to a XAML service from the .NET Framework XAML Services object writer, but the GetService call that is made against the context does not return that service.

Implementieren von CanConvertFromImplementing CanConvertFrom

Ihre Implementierung CanConvertFrom sollte true für sourceType vom Typ String zurückgeben und andernfalls die grundlegende Implementierung ableiten.Your CanConvertFrom implementation should return true for sourceType of type String and otherwise, defer to the base implementation. Lösen Sie keine Ausnahmen aus CanConvertFromaus.Do not throw exceptions from CanConvertFrom.

Implementieren von CanConvertToImplementing CanConvertTo

Ihre Implementierung CanConvertTo sollte true für destinationType vom Typ Stringzurückgeben und andernfalls die grundlegende Implementierung ableiten.Your CanConvertTo implementation should return true for destinationType of type String, and otherwise defer to the base implementation. Lösen Sie keine Ausnahmen aus CanConvertToaus.Do not throw exceptions from CanConvertTo.

Anwenden von TypeConverterAttributeApplying the TypeConverterAttribute

Damit Ihr benutzerdefinierter Typkonverter als der agierende Typkonverter für eine benutzerdefinierte Klasse durch .NET Framework XAML Services verwendet wird, müssen Sie das .NET Framework-Attribut.NET Framework attribute TypeConverterAttribute auf Ihre Klassendefinition anwenden.For your custom type converter to be used as the acting type converter for a custom class by .NET Framework XAML Services, you must apply the .NET Framework-Attribut.NET Framework attribute TypeConverterAttribute to your class definition. Beim ConverterTypeName , den Sie über das Attribut angeben, muss es sich um den Typnamen Ihres benutzerdefinierten Typkonverters handeln.The ConverterTypeName that you specify through the attribute must be the type name of your custom type converter. Beim Anwenden dieses Attributs, wenn ein XAML-Prozessor Werte verarbeitet, bei denen der Eigenschaftstyp Ihren benutzerdefinierten Klassentyp verwendet, kann es Zeichenfolgen eingeben und Objektinstanzen zurückgeben.If you apply this attribute, when a XAML processor handles values where the property type uses your custom class type, it can input strings and return object instances.

Sie können auch einen Typkonverter auf Grundlage einzelner Eigenschaften bereitstellen.You can also provide a type converter on a per-property basis. Anstelle ein .NET Framework-Attribut.NET Framework attribute TypeConverterAttribute auf die Klassendefinition anzuwenden, wenden Sie es auf eine Eigenschaftsdefinition (die Hauptdefinition, nicht die darin enthaltenen get/set -Implementierungen) an.Instead of applying a .NET Framework-Attribut.NET Framework attribute TypeConverterAttribute to the class definition, apply it to a property definition (the main definition, not the get/set implementations within it). Der Eigenschaftstyp muss mit dem Typ übereinstimmen, der durch Ihren benutzerdefinierten Typkonverter verarbeitet wird.The type of the property must match the type that is processed by your custom type converter. Wenn dieses Attribut angewendet ist, wenn ein XAML-Prozessor Werte dieser Eigenschaft verarbeitet, kann es Eingabezeichenfolgen verarbeiten und Objektinstanzen zurückgeben.With this attribute applied, when a XAML processor handles values of that property, it can process input strings and return object instances. Die Typkonvertertechnik auf Grundlage einzelner Eigenschaften ist besonders nützlich, wenn Sie einen Eigenschaftentyp aus Microsoft .NET Framework oder eine andere Bibliothek auch, in dem Sie die Klassendefinition weder steuern und können nicht angewendet werden, verwenden eine TypeConverterAttribute vorhanden.The per-property type converter technique is particularly useful if you choose to use a property type from Microsoft .NET Framework or from some other library where you cannot control the class definition and cannot apply a TypeConverterAttribute there.

Wenden Sie zum Bereitstellen eines Typkonvertierungsverhaltens für ein benutzerdefiniertes angefügtes Member TypeConverterAttribute auf die Get -Accessor-Methode des Implementierungsmusters für das angefügte Member an.To supply a type conversion behavior for a custom attached member, apply TypeConverterAttribute to the Get accessor method of the implementation pattern for the attached member.

Zugriff auf den Dienstanbieterkontext über eine MarkuperweiterungsimplementierungAccessing Service Provider Context from a Markup Extension Implementation

Die verfügbaren Dienste sind für jeden Wertkonverter gleich.The available services are the same for any value converter. Der Unterschied besteht darin, wie jeder Wertkonverter den Dienstkontext empfängt.The difference is in how each value converter receives the service context. Der Zugriff auf Dienste und die verfügbaren Dienste werden im Thema Type Converters and Markup Extensions for XAMLbeschrieben.Accessing services and the services available are documented in the topic Type Converters and Markup Extensions for XAML.

Typkonverter im XAML-KnotenstreamType Converters in the XAML Node Stream

Beim Verwenden eines XAML-Knotenstreams wurde weder die Aktion noch das Endergebnis eines Typkonverters bis dato ausgeführt.If you are working with a XAML node stream, the action or end result of a type converter is not yet executed. In einem Ladepfad muss die Attributzeichenfolge schließlich typkonvertiert werden, um Reste als ein Textwert im Start- und End-Member zu laden.In a load path, the attribute string that eventually needs to be type-converted in order to load remains as a text value within a start member and end member. Der schließlich für diesen Vorgang benötigte Typkonverter kann anhand der Eigenschaft XamlMember.TypeConverter ermittelt werden.The type converter that is eventually needed for this operation can be determined by using the XamlMember.TypeConverter property. Das Abrufen eines gültigen Werts von XamlMember.TypeConverter verlangt jedoch, über einen XAML-Schemakontext zu verfügen, worüber auf diese Informationen über das zugrunde liegende Member oder den Typ des Objektwerts, den das Member verwendet, zugegriffen werden kann.However, obtaining a valid value from XamlMember.TypeConverter relies on having a XAML schema context, which can access such information through the underlying member, or the type of the object value that the member uses. Für das Aufrufen des Typkonvertierungsverhaltens ist zudem der XAML-Schemakontext erforderlich, da dafür die Typzuordnung und das Erstellen einer Konverterinstanz erforderlich sind.Invoking the type conversion behavior also requires the XAML schema context because that requires type-mapping and creating a converter instance.

Siehe auchSee also