2

我制作了一个用户控件,并在其中定义了一个依赖属性,如下所示:

public static readonly
DependencyProperty SourceProperty =
    DependencyProperty.Register(
        "Source",
        typeof( ObservableCollection<object> ),
        typeof( SingleLineChart ), 
        new PropertyMetadata(
            default( ObservableCollection<object> ),
            lineAffectedPropertyChanged ) );

我也有一个普通的属性,它包装了上面的属性。在它的设置器中,我只是调用该SetValue( SourceProperty, value );方法。

当我Source从调用和执行的代码隐藏文件中设置它时lineAffectedPropertyChanged,一切都很好;但是当我使用简单的数据绑定时,什么也没有发生。

        <Line:SingleLineChart
        Name="bestFitnessDisplayer"
        Source="{Binding Path=bestFitnessHistory}"
        Margin="20"/>

我想念什么?

4

1 回答 1

0

我知道已经晚了。我猜想绑定属性的泛型类型不是对象类型。.Net 无法在 和 的类型之间进行ObservableCollection<object>转换ObservableCollection<Something>。最好创建不带泛型参数的 IEnumerabe/ICollection 或 IList 类型的 DependencyProperty。

于 2013-03-14T15:05:39.667 回答