我有一个应用程序,它基于相同的视图和viewModel呈现许多view-viewModel对。 (即有许多视图 - > viewModel实例对)
我可以使用Messenger从viewModel发送/注册消息进行查看,当我从视图发送消息时,它将被所有视图处理(它们都注册了消息)。
如何使用Messenger将viewModel中的消息发送到创建viewModel的特定视图? (所有视图都已注册该消息,但我只希望其中一个视图处理该消息)
答案 0 :(得分:1)
您可以在发送和注册信息时使用令牌。
假设您必须将Message From ViewModel传递给ABCView,那么您可以像这样使用Messenging ..
对于Ex,如果必须传递布尔值,则使用:
Messenger.Defalut.Send<bool>(true,"ForAbcView");
在ABCView中你可以这样注册:
Messenger.Default.Register<bool>(this,"ForAbcView",(b)=>{ //Some Code });
使用令牌时,Messenger Sender只会查找具有相同令牌的Register。它只调用具有相同tocken的方法。