MVVMLightToolkitのバージョン3.0.3.19を使用しています。
http://blog.galasoft.ch/archive/2010/03/16/whatrsquos-new-in-mvvm-light-v3.aspxから:
メッセージは、トークンを使用してメッセンジャーを介して送信できるようになりました。
トークンを使用してメッセージを送信するには、メソッドoverload Send(TMessage message、object token)を使用します。
トークン付きのメッセージを受信するには、メソッドRegister(オブジェクト受信者、オブジェクトトークン、アクションアクション)またはRegister(オブジェクト受信者、オブジェクトトークン、bool receiveDerivedMessagesToo、アクションアクション)を使用します
トークンは、単純な値(int、stringなど)またはクラスのインスタンスにすることができます。別のトークンで登録した受信者、またはトークンをまったく登録していない受信者には、メッセージは配信されません。
上記のドキュメントによると、ViewModelAで次のことを試しました。
Messenger.Default.Send(new NotificationMessage("message"), "token");
ViewModel Bの以下に加えて:
Messenger.Default.Register<NotificationMessage>(this, "token", (msg) => Console.WriteLine(msg.Notification));
ただし、コールバックは実行されません。私は何が間違っているのですか?