私はMVVM Lightに少し慣れていないので、スピードを上げて楽しんでいます。Locator による ViewModel の作成と比較して、アプリ オブジェクトのパブリック プロパティの作成について質問があります。具体的には...
私が見た例では、ロケーターが app.xaml ファイルのアプリ リソースとして作成されています。私の問題は、アプリのパブリック プロパティが作成される前に作成されることです。コレクションを保持するアプリ オブジェクトの静的プロパティがあります。このプロパティはロケーター サービスの作成後に作成されるため、ロケーターによって作成されたビュー モデルのコンストラクターで参照することはできません。
これらすべてが、私が間違ったことをしているのかどうか疑問に思っています! 私のアプリには、ほとんどどこでも使用したいコレクションがあります。私の計画は、各 ViewModel (私が持っているのはほんの数個) がこのオブジェクトをコンストラクターにコピーすることでした。振り返ってみると、それはおそらく壊れています。おそらく、コピーを取得するのではなく、ViewModel を介してアプリ プロパティへの参照を戻す必要があります。
とにかく、私は2つの質問があると思います:
- ロケーター (およびそのビューモデル) が以前に作成されている場合、アプリ オブジェクトのプロパティにアクセスする必要があるビューモデルをどのように処理できますか。
- すべての ViewModel に公開させたいアプリ全体のプロパティがある場合の一般的なパターンは何ですか?
前もって感謝します。
マーク