IReceiveMarkupExtension Interface



This API is now obsolete.

Provides a mechanism whereby types can declare that they can receive an expression (or another class) from a markup extension, where the output is a different property type than the target property. Do not use for .NET Framework 4 implementations.

public interface class IReceiveMarkupExtension
[System.Obsolete("IReceiveMarkupExtension has been deprecated. This interface is no longer in use.")]
public interface IReceiveMarkupExtension
public interface IReceiveMarkupExtension
type IReceiveMarkupExtension = interface
Public Interface IReceiveMarkupExtension


In .NET Framework 3.0, IReceiveMarkupExtension was a WPF-specific technique for permitting types to enter a different codepath whenever any of its XAML-accessible members where set as markup extensions during XAML parsing. In .NET Framework 4, this interface is obsolete, and is replaced with a .NET Framework XAML Services implementation for how markup extensions can receive services or types can invoke markup-extension specific setter logic.

For .NET Framework 4 implementations, if types want to perform special processing when setting properties by markup extension rather than by other means, types should be defined with XamlSetMarkupExtensionAttribute attributes applied. The attribute specifies a callback, which is typically defined as a private member of the type.

In infrastructure implementations of WPF classes, most cases where XamlSetMarkupExtensionAttribute is applied reference a ReceiveMarkupExtension method that previously implemented this interface, but now instead use context through the callback.


ReceiveMarkupExtension(String, MarkupExtension, IServiceProvider)

Provides the handling for markup extensions that provide property values. Do not use for .NET Framework 4 implementations; see IReceiveMarkupExtension.

Applies to

See also