我有一个复合系列。在从代码背后修改其项目后,我希望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));
}
答案 0 :(得分:1)
您的ScriptParameterComboItem
课程必须实施INotifyPropertyChanged
。因此,当更改它的属性时,将通知侦听器。使用ObservableCollection
可以在收件人添加或删除时通知听众。不改变每个项目中的实际数据。