我有一个自己完成的用户控件,它有一个依赖属性,它是一个集合:
private static readonly DependencyPropertyKey VerticalLinesPropertyKey = DependencyProperty.RegisterReadOnly("VerticalLines", typeof(VerticalLineCollection), typeof(DailyChart), new FrameworkPropertyMetadata(new VerticalLineCollection()));
public static DependencyProperty VerticalLinesProperty = VerticalLinesPropertyKey.DependencyProperty;
public VerticalLineCollection VerticalLines
{
get
{
return (VerticalLineCollection)base.GetValue(VerticalLinesProperty);
}
set
{
base.SetValue(VerticalLinesProperty, value);
}
}
当 Window 使用带有如下代码的控件时,我直接从 XAML 填充此集合:
<chart:DailyChart.VerticalLines>
<VerticalLine ... ... ... />
</chart:DailyChart.VerticalLines>
现在,我从 XAML 中删除了这个固定的初始化,我想将集合绑定到 ViewModel 的属性,但我得到了错误:
Error 1 'VerticalLines' property cannot be data-bound.
Parameter name: dp
有任何想法吗?