2015-11-26 157 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; 
     } 
    }