如何发送有关复合集合更改的通知

时间:2013-04-02 10:04:55

标签: wpf notifications compositecollection

我有一个复合系列。在从代码背后修改其项目后,我希望View得到更新。但我不知道如何通知视图。我尝试了INotifyCollectionChanged,但它对我不起作用。

    protected ObservableCollection<ScriptParameterComboItem> cItems

    public virtual CompositeCollection CItems
    {
        get
        {
            return new CompositeCollection {new CollectionContainer {Collection = cItems}};
        }
    }

    public void ConvertValue(params object[] parameters)
    {
        string newAverageOption = DisplayValueConverter.Convert(1, parameters);
        var enumItem = cItems[1];
        enumItem.Value = newAverageOption;
        RaiseCollectionChanged("CItems");
    }


    protected void RaiseCollectionChanged(string property)
    {
        if(CollectionChanged != null)
            CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add));
    }

1 个答案:

答案 0 :(得分:1)

您的ScriptParameterComboItem课程必须实施INotifyPropertyChanged。因此,当更改它的属性时,将通知侦听器。使用ObservableCollection可以在收件人添加删除时通知听众。不改变每个项目中的实际数据。