XamlValueConverter<TConverterBase> Class

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Provides a common API surface for techniques that generate initialization or serialization values for XAML based on input other than the eventual destination type. This includes markup extensions and type converters.

Namespace:   System.Xaml.Schema
Assembly:  System.Xaml (in System.Xaml.dll)


public class XamlValueConverter<TConverterBase> : IEquatable<XamlValueConverter<TConverterBase>>
where TConverterBase : class

Type Parameters


The CLR base class for the particular converter that this XamlValueConverter<TConverterBase> represents. Typically this is one of the following: TypeConverter; MarkupExtension; ValueSerializer;

System_CAPS_pubmethodXamlValueConverter<TConverterBase>(Type, XamlType)

Initializes a new instance of the XamlValueConverter<TConverterBase> class, based on a converter implementing Type and the target/destination type of the XamlValueConverter<TConverterBase>.

System_CAPS_pubmethodXamlValueConverter<TConverterBase>(Type, XamlType, String)

Initializes a new instance of the XamlValueConverter<TConverterBase> class, based on a converter implementing Type the target/destination type of the XamlValueConverter<TConverterBase>, and a string name.


Gets a created instance of the converter implementation.


Gets the Type for the class that implements the converter behavior.


Gets a string name for this XamlValueConverter<TConverterBase>.


Gets the target/destination XamlType of the XamlValueConverter<TConverterBase>.


Returns an instance of the converter implementation.


Determines whether this instance of XamlValueConverter<TConverterBase> and a specified object, which must also be a XamlValueConverter<TConverterBase> object, have the same value.(Overrides Object.Equals(Object).)


Determines whether this instance of XamlValueConverter<TConverterBase> and another XamlValueConverter<TConverterBase> object have the same value.


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Returns the hash code for this XamlValueConverter<TConverterBase>. (Overrides Object.GetHashCode().)


Gets the Type of the current instance.(Inherited from Object.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Returns a String that represents this XamlValueConverter<TConverterBase>. (Overrides Object.ToString().)

System_CAPS_puboperatorSystem_CAPS_staticEquality(XamlValueConverter<TConverterBase>, XamlValueConverter<TConverterBase>)

Determines whether two specified XamlValueConverter<TConverterBase> objects have the same value.

System_CAPS_puboperatorSystem_CAPS_staticInequality(XamlValueConverter<TConverterBase>, XamlValueConverter<TConverterBase>)

Determines whether two specified XamlValueConverter<TConverterBase> objects have different values.

Instances of this type are returned by methods of the XAML schema API such as LookupTypeConverter. The generic implementation of XamlValueConverter<TConverterBase> provides indirection for the System.Xaml assembly so that the basic XAML schema and type system does not have to take dependencies on different value conversion techniques that are typically implementations in other assemblies.

A XamlValueConverter<TConverterBase> can be constructed with a null implementation type, but such a XamlValueConverter<TConverterBase> will return null for CreateInstance.

Constructor signatures for XamlValueConverter<TConverterBase> use a converterType parameter that references the specific type that implements the conversion behavior. For a properly functioning XamlValueConverter<TConverterBase> (one that has a nonnull ConverterInstance), the converterType type is expected to be castable to the TConverterBase constraint. A mismatch condition is not enforced by constructors, but might produce an InvalidCastException at run time.

.NET Framework
Available since 4.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top