MVVMパターンを使用してWPFアプリケーションを開発していますが、選択したアイテムのフィールドがマスター/詳細ビューに表示された状態で、ListViewにアイテムのリストを表示する必要があります(フィルタリングあり)。私はこれを行う次の2つの方法の間で引き裂かれています。
これを行うための受け入れられた方法はありますか?最善の方法について何か考えはありますか?
私は前者を実行します(VMからCollectionView
を公開します)が、本当に重要なのはフィルタリングロジックがどこにあるかです。ビューがCollectionViewSource
をVMに接続する必要がある場合でも、テストできるように、それは間違いなくVMにあるはずです。とはいえ、私は思いませんVMからCollectionViewを公開することに関して、特に厄介な、または反MVVMがあります。
私はあなたの質問に答えるのが少し遅れていることを知っていますが、今日それを見ました。
CollectionViewSourceを使用するマスター/詳細ビューモデルを作成し、ブログに掲載しました。
ここで使用するマスター/詳細テーブルのビューモデルについて書きました: http://reyntjes.blogspot.com/2009/04/master-detail-viewmodel_24.html
Observablecollectionクラスのビューモデルは私のブログページにもあります。
多分あなたはそれがあなたに役立つと思うでしょう。