3

同じビューとビューモデルに基づいて、多くのビューとビューモデルのペアを表示するアプリがあります。(つまり、多くのビュー -> ビューモデル インスタンスのペアがあります)

Messenger を使用して、viewModel からビューにメッセージを送信/登録できます。ビューからメッセージを送信すると、すべてのビューによって処理されます (すべてメッセージに登録されます)。

Messenger を使用して、viewModel から viewModel を作成した特定のビューにメッセージを送信するにはどうすればよいですか? (すべてのビューがメッセージに登録されていますが、ビューの 1 つだけがメッセージを処理するようにします)

4

1 に答える 1

1

Messaging の送信および登録中にトークンを使用できます。

Message From ViewModel を ABCView に渡す必要があるとします。このように Messenging を使用できます。

たとえば、ブール値を渡す必要がある場合は、次を使用します。

Messenger.Defalut.Send<bool>(true,"ForAbcView");

ABCView では、次のように登録できます。

Messenger.Default.Register<bool>(this,"ForAbcView",(b)=>{ //Some Code });

トークンを使用すると、Messenger Sender は同じトークンを持つレジスタのみを検索します。同じトークンを持つメソッドのみを呼び出します。

于 2012-05-25T03:26:07.640 に答える