私はMVVMとWPF自体が初めてです。WPF でプロトタイピングを行う必要があり、概念的な質問に達しました。
データを送信するサーバーがあるとします。現在表示しているかどうかに関係なく、キャッシュに保存する必要がありますが、これは「実際のデータ」であり、いつか UI に配置する必要があります (ユーザーが特定の画面を開いたとき)。これがビューモデルです。
私の質問は非常に明白です-UIを何らかのサービスに保存されている実際のデータにバインドする必要がありますか、それともそのデータの周りにビューモデルラッパーを実行してバインドする必要がありますか? 最初のケースでは、ディスパッチャーを使用しない限り、「呼び出し元のスレッドはこのオブジェクトにアクセスできません」という例外を受け取りますが、モデルでディスパッチャーを呼び出すと正しく見えません
後者の場合、次のことが必要になります。
- 「実際のモデル」からラッパーにデータの 90% をコピーします。
- 基になる「実際のデータ」の変更を手動で監視して、INotifyPropertyChanged を実装する場合に備えてビューモデルを更新します。
正しい方法は何ですか?