2015-11-26 215 views
0

我在其中綁定到視圖中的DataGrid視圖模型的ObservableCollection但它如果有人添加一個新行CollectionChanged事件沒有被觸發,或者如果有人修改已經存在的行。WPF觀察集合

public void onCollectionEventFired(object sender, NotifyCollectionChangedEventArgs e) 
    { 
     if (e.NewItems != null) 
     { 

     } 
     if (e.OldItems != null) 
     { 

     } 
    } 


    #region Properties 
    public ObservableCollection<Expenses> expenses 
    { 
     get 
     { 
      if (_expenses == null) 
      { 
       _expenses = new ObservableCollection<Expenses>(); 
       _expenses.CollectionChanged += onCollectionEventFired; 
      } 

      return _expenses; 
     } 
    } 
+1

你可以發佈你的XAML嗎? –

回答

0

您應該訂閱CollectionChanged事件在您的視圖模型,而不是您的收藏的獲取。

public class MyVM 
    { 
     public MyVM() 
     { 
     this.expenses.CollectionChanged += onCollectionEventFired; 
     } 
    } 

而且您需要set{}將更改分配給集合。

public ObservableCollection<Expenses> expenses 
    { 
     get 
     { 
      if (_expenses == null) 
      { 
       _expenses = new ObservableCollection<Expenses>(); 
      } 

      return _expenses; 
     } 
     set 
     { 
      _expenses = value; 
     } 
    }