如何添加自定义DependencyProperty?此方法不起作用。
public class SongCollection : ObservableCollection<Song>
{
public static readonly DependencyProperty UrlProperty = DependencyProperty.Register(
"Url", typeof(ObservableCollection<Point>), typeof(Arrow));
public Uri Url
{
get { return (Uri)GetValue(UrlProperty);}
....
}
}
答案 0 :(得分:1)
问题应该是它不能编译。自ObservableCollection<T>
的{{1}} is not derived起,即使我更正其余的代码,这种实现也无法正常工作,这也是完全错误的。
有关DependencyObject
的更多信息,请查看here。
修改
您的财产的正确实施将是
DependencyProperties
修改2
包装器实现
public class SomeClass : DependencyObject
{
public static readonly DependencyProperty UrlProperty =
DependencyProperty.Register("Url", typeof(Uri), typeof(SomeClass));
public Uri Url
{
get { return (Uri)GetValue(UrlProperty);}
set { SetValue(UrlProperty, value); }
}
}
答案 1 :(得分:0)
DependencyProperties用于在DependencyObjects上公开绑定功能。
基本上,你不能在不从DependencyObject派生的类上声明DependencyProperty,而且,除非在DependencyObject上使用它被绑定到该属性,否则你不需要声明DependencyProperty。 object的DataContext。