【发布时间】:2012-08-03 22:18:37
【问题描述】:
我正在使用 MVVM Light Toolkit 的 3.0.3.19 版。
来自http://blog.galasoft.ch/archive/2010/03/16/whatrsquos-new-in-mvvm-light-v3.aspx:
现在可以使用令牌通过 Messenger 发送消息。
要发送带有令牌的消息,请使用方法重载 Send(TMessage message, object token)。
要接收带有令牌的消息,请使用方法 Register(object recipient, object token, Action action) 或 Register(object recipient, object token, bool receiveDerivedMessagesToo, Action action)
token 可以是一个简单的值(int、string 等) 或一个实例 一类的。邮件未发送给已注册的收件人 使用不同的令牌,或者根本没有令牌。
根据上面的文档,我在 ViewModel A 中尝试了以下操作:
Messenger.Default.Send(new NotificationMessage("message"), "token");
以及 ViewModel B 中的以下内容:
Messenger.Default.Register<NotificationMessage>(this, "token", (msg) => Console.WriteLine(msg.Notification));
但是,回调永远不会执行。我做错了什么?
【问题讨论】:
标签: mvvm-light