我有一個模擬綁定的自定義MarkupExtension。它的工作原理以及在正常作業,但在風格二傳手使用時,例如:自定義WPF綁定
<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);
}
}
什麼問題?!
'綁定'不是'Freezable'。因此,特別支持。 –