在我的WPF应用程序中,我有许多订阅者到String消息和许多字符串消息发送。 我知道我可以区分使用tokes选择特定收件人的邮件。请直接说明这样做的例子。
答案 0 :(得分:2)
好吧,如果你有两个类ClassA
和ClassB
都注册了字符串类型的消息,其中包含
Messenger.Default.Register<string>(this, OnStringMessageReceived);
然后您可以通过在发送模板调用中声明类类型来向ClassA
发送消息,例如
Messenger.Default.Send<string, ClassA>("Message to Only ClassA");
MVVM Light Author的博客提供了一些您可能想要阅读的相关文档
http://blog.galasoft.ch/archive/2009/09/27/mvvm-light-toolkit-messenger-v2-beta.aspx
从上面链接中提取(我们根据您的要求使用的功能):
/// <summary>
/// Sends a message to registered recipients. The message will
/// reach only recipients that registered for this message type
/// using one of the Register methods, and that are
/// of the targetType.
/// </summary>
/// <typeparam name="TMessage">The type of message that will be sent.</typeparam>
/// <typeparam name="TTarget">The type of recipients that will receive
/// the message. The message won't be sent to recipients of another type.</typeparam>
/// <param name="message">The message to send to registered recipients.</param>
void Send<TMessage, TTarget>(TMessage message);