2010-12-13 15 views
0

いくつかのビューを含む複雑なユーザーコントロールがあり、それぞれに独自のViewModelがあります。 私の質問は、これらのViewModelのすべてが、それぞれが個別のサービス呼び出しを持たないで、どのようにデータ(例えば観測可能なコレクション)を共有できるのかです。Silverlight ViewModels間でデータを共有する

答えて

0

サービスは、データの抽象化である必要があります。そのデータをWS、DBなどから取得するかどうかは関係ありません。各ViewModelには、Viewによってバインドされるプロパティを含めることができます。このプロパティは、サービスに呼び出しをラップするObservableCollection<T>です。そのデータは実際にはサービスを介してキャッシュされ、定期的にしか更新されませんが、いずれかの方法でViewModel間の検索のためにデータを単一の参照ポイントにプッシュします。

+0

ありがとうございましたAaron、「単一参照点」と言えば、サービスを静的クラスとして実装する必要がありますか? – AssafDamari

+0

@Assafそれは依存することができますが、ある形でシングルトンをキャッシュすることを望んでいるあなたのインスタンスでは、別のものが必要になります。あなたのサービスを静的にすることが1つの選択肢になります。プリズムまたはフレームワークを使用していた場合は、オブジェクトの存続期間をシングルトンのように設定して、タイプを解決するときに同じインスタンスをリクエスターに提供できるようにすることができます。 –

関連する問題