Attention! This article, as well as this announcement, are automatically translated from Russian.
The Net.Leksi.WpfMarkupExtension library is designed to extend WPF markup. It contains several classes that you may find useful when developing XAML. All classes are contained in the Net.Leksi.WpfMarkup namespace.
StyleCombiner- allows you to apply multiple styles to an element without inheritance.ParameterizedResource- analogue ofStaticResourceExtension, which allows using resources with parameters that can be replaced with different values in the markup.XamlServiceProviderCatcher- allows usingParameterizedResourcein code.BindingProxyis a universal resource that can serve as a link to any object or act as a binding.BindingProxyMarkup- used when you need to place a binding value where a markup extension is required.IUniversalConverter- combines theSystem.Windows.Data.IValueConverterandSystem.Windows.Data.IMultiValueConverterinterfaces for convenience.DataSwitch- used instead of a large number ofDataTriggerthat have the same binding but different trigger values. Reduces both the XAML text and the number of calls to the binding source.BoolExpressionConverter- incomplete implementation of theIMultiValueConverterinterface, which implements theobject Convert(object[] values, Type targetType, object parameter, CultureInfo culture)method, which is passed an array ofboolvaluesvaluesand a string describing the Boolean expression above them, asparameter. Returns the result of evaluating an expression.ConverterProxy- an adapter that is aMarkupExtensionfor convertersIValueConverterorIMultiValueConverter, which are notMarkupExtensionand cannot become one, since they are already inherited from another type, but are required there, whereMarkupExtensionis expected.
More info: https://github.com/Leksiqq/WpfMarkupExtension/wiki