2

私のWPFアプリケーションには、文字列メッセージへの多数のサブスクライバーと多くの文字列メッセージの送信があります。トークを使用して特定の受信者を選択することで、メッセージを区別できることを知っています。これを行う例を教えてください。

4

1 に答える 1

3

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);
于 2013-03-24T20:52:07.110 に答える