Описание тега markup-extensions

Markup extensions are a XAML technique for obtaining a value that is neither a primitive nor a specific XAML type. As XAML is based on simple XML syntax which due to its simplicity can be more verbose and thus one of the reasonable concepts of markup extensions was introduced. And this later syntax also provides a way to use values other than a literal string such as an already constructed object or a static object in our assembly.

Several markup extensions exist that are not specific to the WPF implementation of xaml but are instead implementations of intrincics or features of xaml as a language. These markup extensions are implemented in the System.Xaml assembly as part of the general .net Framework XAML services, and are within the XAML language XAML namespace. All the markup extensions derive from the abstract MarkupExtension class and override its ProvideValue method. The naming convention is to append the word Extension to the subclass’s name (only the Binding class does not follow the pattern). The XAML parser allows markup extensions to be created within {curly braces} and it also allows you to omit the Extension suffix when using a markup extensions if you want to.