2010-12-01 15 views
0

wpfの新機能で、UIのwpfを使用してクライアント/サーバーアプリケーションを設計中 ビュービューモデル、データリスト、および通信モデルが1つある 私のビューとビューモデルが1つを形成しますユーザーコントロール 以下の私の疑問です:wpfアプリケーションでmvvmパターンを使用

  1. 私はviewmodelの内側に私のデータリストを続ける場合は、任意のビューがアクセスできるように、私はアプリケーションで自分のデータリストを維持した場合、どのように他のビューモデルが私の見解かどうか、それ
  2. にアクセスすることができますモデルはバインディングによって更新することができます
  3. wi私のビューモデルが自分のコミュニケーションモデルを直接呼び出す場合や、ラッパークラスを間に置いておく必要がある場合は、良い設計にしてください。あなたが項目のリストにアクセスするには、リポジトリのパターンを使用して考えなければならない

ありがとう

サリカ

答えて

0

。あなたのビューモデルはこのリポジトリ(例えばIPeopleRepository)の抽象化に対応している必要があります。このリポジトリの具体的な実装を注入(例:コンストラクタ注入)を通してビューモデルに渡す必要があります。具体的な実装では、コミュニケーションモデルを呼び出してアイテムのリストを取得できます。

通常、リポジトリはWPFに固有ではないコレクションタイプを返します。ビューモデルのObservableCollectionにこれをラップして、UIにコレクションの変更が通知されるようにします。

各ビューモデルがこのコレクションへの新しい参照を取得するか、それらがすべて同じコレクションにアクセスするかは、ユースケースによって異なりますが、コレクションがDataContext(通常はビューモデル)のプロパティとして公開されている限り、コレクションにバインドして、ビューから表示および更新することができます。

関連する問題