2017-12-06 25 views
0

Messaging Centerを使用して1つのViewModelから別のViewModelにデータを送信しようとしています。 2番目のViewModelのコンストラクタでイベントを購読しました。しかし、ViewModelに対応するページ/ビューを開くまで、コンストラクタはコンパイルされないので、イベントはサブスクライブされません。Messaging Center - ViewModelコンストラクタのサブスクリプションイベント

私はMVVM Lightを使用しています。これまで、AppMachineLocatorがアプリケーションの起動時に呼び出されたときに、VMのコンストラクタがコンパイルされていることを理解していました。

誰かがこれをよりよく理解する助けとなり、イベントをサブスクライブする、つまりVMが呼び出されずにコンストラクタをコンパイルする方法を教えてください。

答えて

0

おそらくあなたは間違った方法でこれについて考えています。コードを見ることなく、正確に何を達成しようとしているのかを確認するのは難しいですが、App.xaml.cなど、アプリ内の他の場所でイベントを購読するだけです。イベントが発生すると、その時点でViewModel2型の新しいページにナビゲートし、必要な詳細をナビゲーションパラメータとして渡します。