2009-06-28 11 views
1

MVVMパターンでは、モデルを作成するときにビューを考える必要はありません。だから私はIListsなどに格納されたデータで公共のプロパティを使用します。 しかし、私のビューモデルは、モデル側でこれらのリストに対して行われた変更について通知されません。 モデルでObservableCollectionsを使用する必要がありますか?しかし、これは私にとっては奇妙に思えます。MVVMモデルの設計

答えて

4

はい、ObservableCollectionsを使用する必要があります。私はこれについて何が奇妙だろうか分からない? ObservableCollectionはすべてリスナーに変更を通知します。必ずしもUIである必要はありません。

あなたのViewModelがそれを使用して、実際の表示については何も知らないはずですが、それはビューモデルだとして、それは何かはのObservableCollectionを移動するための方法であるので、それを使用しようとしていると仮定するために、それはokですまた、私が知る限り、一般的な慣習です。

また、リスナーはどのアイテムが追加または削除されたかを正確に知っているため、変更が発生したときにリスト全体を更新する必要はありません。これはまた、マイクロソフトの言います(これについての記事はまだ見つかりません)。

+0

私はそれについて知りたかったです。ありがとう – apparat

+0

これは、任意のサイズ/複雑さのアプリケーションで非常に高価になる可能性があります。 –

3

これは、ビューモデルがデータごとに通知されるようにするため、ほとんどの人がINotifyPropertyChangedをデータモデルに実装するのを見る理由ですモデルの変更。

関連する問題