[英]Collection Dependency Property not working
我有一个WPF用户控件,它代表一个带有某些属性的圆形量规。 当我在应用程序中直接使用它时,一切工作都很好,但是当我将其加载到Expression Blend中以测试其属性并模拟预期的动画时,它可以正常工作并期望集合依赖项属性。 问题是,当我使用Expression Blend将某些项目添加到集合属性时,不会调用“ SetValue”! 我究竟做错了什么?
public static readonly DependencyProperty RangesProperty =
DependencyProperty.Register("Ranges ", typeof(CircularRangeInfoList), typeof(UserControl1), new FrameworkPropertyMetadata(new CircularRangeInfoList()));
[Category("Test Collection")]
public CircularRangeInfoList Ranges
{
get { return (CircularRangeInfoList)GetValue(RangesProperty); }
set { SetValue(RangesProperty, value); }
}
public class CircularRangeInfoList : ObservableCollection<CircularRangeInfo>
{
public CircularRangeInfoList()
{
}
}
这是因为您没有设置属性,而是要更改集合(属性已设置为该集合)。 如果需要监视集合中的更改,则应为CollectionChanged事件添加一个处理程序。
有关更多信息,请参见此问题 。
注册依赖项属性时,请指定一个静态属性更改回调 。 当您的依赖项属性更改时,将调用此方法。 在此回调委托中,应将事件处理程序附加到自定义集合的CollectionChanged事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.