2011-02-08 7 views
1

私のアプリでは、BackgroundWorker(ハウスキーピングタスク)がデータベースから削除されるデータをチェックします。データが削除された後、ViewModelまたはModelからDataItemを削除しますか?M-V-VMとBackgroundWorker

(はい、私はMVVMに新たなんだと、おそらく私はまだあまりにもそれをよく理解していません)。

ありがとうございました。

答えて

0

それはあなたのモデルとビューモデルが実装されている方法によって異なりますが、概念的には、私は

  • は、モデル、順番に、すべき
    • 原因データからデータを削除いただきたいですデータベースから削除され、
    • によって、ビューモデルが通知され、状態を適切に更新できるようになります。
+0

OK、そう私のviewmodelsはモデル右への変更をリッスンする必要がありますか? – empo

+0

正確です。私はこれが常にオプションではないことを認識しています。その理由は、ソリューションがモデルの実装方法に依存する可能性があるということです。もう1つの選択肢は、ビューモデルが定期的にモデルをリロードするようにすることです。これは、同じデータベースにアクセスする(複数のPC上の)アプリケーションのインスタンスが複数ある場合に必要になる場合があります。 – Heinzi

1

私はあなたが達成しようとしている正確にわからないんだけど、私はそれがDoWorkメソッドの一部としてのviewmodelを変更する背景労働者について警告します。 ViewModelを変更すると、UIへの変更が示唆されます。これは、UIスレッドでDoWorkメソッドが実行されていないためにうまくいかない可能性があります。