2014-12-08 68 views
0

我有一些使用CollectionViewSource的經驗,並且可以使用MVVM模式實現排序,分組和過濾。但我很好奇何時引發了CollectionViewSource.Filter事件。我通常的方式就像MSDN,但這是隻註冊事件,不像Button.Click我沒有看到任何地方提高這個事件,如通過鍵盤或鼠標。 任何人都可以解釋它嗎?謝謝!什麼時候在WPF中引發CollectionViewSource.Filter事件?

+1

每當'Source'改變時它會被提升。 – 2014-12-08 08:14:06

+0

@HamletHakobyan,謝謝! – 2014-12-09 01:21:29

回答

4
  1. 只要集合發生變化,它就會被調用。
  2. 您可以重新評估過濾器手動,如果你的過濾器的條件在您的視圖模型代碼調用ICollectionView.Refresh變化:

    collectionViewSource.View.Refresh(); 
    
  3. 可以防止重複調用過濾器時,你在做批量修改:

    using (collectionViewSource.DeferRefresh()) 
    { 
        // update your collection in here 
    } 
    
相關問題