繁体   English   中英

集合依赖项属性不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM