У меня есть пользовательское MarkupExtension, которое имитирует привязку.Он хорошо работает в обычных назначениях, но при использовании в установщиках стилей, например:
<Setter Property="Content" Value="{local:MyExtension}" />
приводит к XamlParseException:
A 'Binding' cannot be set on the 'Value' property of type 'Setter'.
A 'Binding' can only be set on a DependencyProperty of a DependencyObject.
Это реализация расширения:
public class MyExtension : MarkupExtension
{
public MyExtension()
{
Value = 123;
}
public object Value
{
get;
set;
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
var binding = new Binding("Value")
{
Source = this,
};
return binding.ProvideValue(serviceProvider);
}
}
В чем проблема?!