0

JsData という名前のクラスを作成し、App.xaml.cs でインスタンス化して、複数のビューモデルからアクセスできるようにしました。JsData には、いくつかの ObservableCollections、構成用のいくつかのプロパティ、およびリモート サーバーからデータを自動的にプルするプロセスを操作するいくつかのメソッドがあります。

ここで質問です。最小限のコーディングでグローバル データをビューにバインドすると便利ですか? その上、私は Caliburn.Micro を使用しています。メッセージングを使用して PropertyChanged イベントをビューモデルに通知することは実行可能で適切ですか?

4

1 に答える 1

0

これを行う最善の方法は、ビュー モデルが実装できるサービスを作成することだと思います。そうすれば、データを必要とするビュー モデルがサービスを実装でき、ビュー モデルの構築に注入できるため、サービスはより柔軟になります。これにより、ビュー モデルがより分離され、mvvm パターンが尊重されます。

変更を通知しないためにメッセージングを使用しないと、不要なオーバーヘッドが発生します。ビュー モデルに inotifypropertychanged を実装してから、コンストラクターでサービスを取得し、プロパティ変更イベントを発生させるビュー モデルのプロパティにサービス値を渡すだけです。

サービスの定義についてサポートが必要な場合は、お知らせください。サンプルを投稿します

于 2013-04-20T19:36:09.417 に答える