无法创建集合类型依赖项属性

时间:2010-07-02 13:47:20

标签: c# list dependency-properties

我正在尝试创建一个包含对象列表的自定义列表。虽然在Xaml和后面的代码中都设置了这个,但是我得到了“错误的标记错误”。以下是我如何设置PropertyKey和Property。

private static readonly DependencyPropertyKey ItemSourcePropertyKey = DependencyProperty.RegisterReadOnly(
        "ItemSource",
        typeof(List<object>),
        typeof(MultiSelectComboBox),
        new FrameworkPropertyMetadata(null));

public static readonly DependencyProperty ItemSourceProperty = ItemSourcePropertyKey.DependencyProperty;

该领域是:

 public List<object> ItemSource
    {
        get { return (List<object>)this.GetValue(ItemSourceProperty); }
        set { this.SetValue(ItemSourceProperty, value); }
    }

我得到的错误是:

{"Cannot create instance of 'Window1' defined in assembly 'GroupExpansion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Exception has been thrown by the target of an invocation.  Error in markup file 'Window1.xaml' Line 1 Position 9."}

有没有人之前将DependencyProperty绑定到List?我遇到过一些教程,但是当我尝试模拟教程时,它就落在了它的脸上。 List和Property位于扩展UserControl的文件中。如果您需要更多细节,请询问。我现在已经把键盘从键盘上敲了几天。似乎是围成一圈。

干杯

1 个答案:

答案 0 :(得分:1)

找到解决方案,似乎需要将Dependency属性附加到ObservableCollection。然后为了绑定它然后需要非只读,所以可以删除DependencyPropertyKey并仅用DependencyProperty替换。如果有人为此设置实际页面,那将非常有用。