2013-04-02 63 views
0

我有複合集合。在從後面的代碼修改其項目後,我希望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

您的ScriptParameterComboItem類必須實現INotifyPropertyChanged。所以當更改它的屬性,聽衆將被通知。使用ObservableCollection可以幫助聽衆收到通知時添加到收藏或刪除從。不改變每一件物品的實際數據。