0

我有一个复合集合。从后面的代码修改其项目后,我希望视图得到更新。但我不知道如何通知视图。我试过了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));
    }
4

1 回答 1

1

你的ScriptParameterComboItem班级必须实现INotifyPropertyChanged. 因此,当更改其属性时,将通知侦听器。使用有助于在将某些内容添加到集合或从中删除ObservableCollection时通知侦听器。不更改每个项目中的实际数据。

于 2013-04-02T10:08:16.770 回答