如何使用令牌在MVVM灯中发送简单的字符串消息

时间:2013-03-24 19:54:36

标签: wpf mvvm mvvm-light

在我的WPF应用程序中,我有许多订阅者到String消息和许多字符串消息发送。 我知道我可以区分使用tokes选择特定收件人的邮件。请直接说明这样做的例子。

1 个答案:

答案 0 :(得分:2)

好吧,如果你有两个类ClassAClassB都注册了字符串类型的消息,其中包含

的内容
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);