我想将一个对象作为参数传递给Converter。由于我不能使用ConverterParameter,我使用了DependencyProperty。
这是代码 -
public class FilteredColumnConverter : DependencyObject, IValueConverter
{
public DataGridFilter FilterObject
{
get { return (DataGridFilter) GetValue(FilterObjProperty); }
set { SetValue(FilterObjProperty, value); }
}
public static readonly DependencyProperty FilterObjProperty =
DependencyProperty.Register( "FilterObj",
typeof(DataGridFilter),
typeof(FilteredColumnConverter),
new PropertyMetadata(null));
// With implementations for Convert and ConvertBack
}
我的XAML:
<UserControl.Resources>
<helpers:FilteredColumnConverter x:Key="filteredColumnConverter"
FilterObject="{Binding myFilterObj}"/>
</UserControl.Resources>
我收到以下错误:
无法在 FilteredColumnConverter 类型的 FilterObject 属性上设置绑定。 Binding只能在DependencyObject的DependencyProperty上设置。
似乎有什么问题?我有一个FilterObject是一个依赖属性,我也遵循命名约定。
答案 0 :(得分:1)
尝试使用名称FilterObject注册DP而不是FilterObj
DependencyProperty.Register("FilterObject", ...