WPF绑定DependencyObject错误

时间:2016-04-12 07:23:50

标签: c# wpf dependency-properties

我想将一个对象作为参数传递给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是一个依赖属性,我也遵循命名约定。

1 个答案:

答案 0 :(得分:1)

尝试使用名称FilterObject注册DP而不是FilterObj

DependencyProperty.Register("FilterObject", ...