2

同じコレクションに基づく複数のフィルターがあります。つまり、同じコレクションをさまざまな方法で表示しています。私ができるようにしたいのは、プロパティが変更されたときにすべてのCollectionViewを更新するように依頼することです(コレクションビューは、アイテムがコレクションに追加/削除された場合にのみ再フィルタリングされるため)。特定のコレクションに関連付けられているすべてのcollectionViewを検索する方法はありますか?コレクションビューとコレクションの間に双方向のリンクがありますか、またはこのリンクを決定する方法がありますか。

PS私は答えがだとは思わない

ICollectionView coll = CollectionViewSource.GetDefaultView(Collection);

これにより、コレクションに関連付けられているすべてのICollectionViewではなく、コレクションのデフォルトのビューが表示されます。

4

1 に答える 1

0

コレクションがObservableCollectionの場合、ResettableObservableCollectionを実行できます。

public class ResettableObservablecollection<T>: ObservableCollection<T>
{
   //copy desired ctors

   public void ForceReset()
   {
       OnCollectionChanged(new System.Collections.Specialized.NotifyCollectionChangedEventArgs(System.Collections.Specialized.NotifyCollectionChangedAction.Reset));
   }
}

生成されるICollectionViewはそれを監視し、それ自体を更新します。

于 2010-02-05T16:01:16.780 に答える