MVVM Light Messenger无法按预期运行

前段时间我问了一个问题: 使用MVVM Light的Messenger在View Model之间传递值

我今天去测试答案,但似乎没有起作用。 我的实现如下:

MessengerInstance.Send(SelectedDocument, Model.StaticEnums.Tokens.SettingstoMain); 

和:

 MessengerInstance.Register(this, Model.StaticEnums.Tokens.SettingstoMain, settings => CopySettings(settings)); 

我的问题是,这种实现不起作用。 相反,MessengerInstance.Send和MessengerInstance.Register的参数似乎与答案中的实现明显不同。

我在这做错了什么? 我上一个问题的答案中的实现是否正确?

在过去的几个月里,我没有使用过MVVM灯。 但我总是这样发送和注册消息(见代码)。 也许新版本有更好的方法。 但我不认为。

 GalaSoft.MvvmLight.Messaging.Messenger.Default.Register(this, (a) => { MessageBox.Show(a); }); GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("abc"); 

确保在发送之前首先注册该消息。

编辑:对于每种消息类型,我创建了一个自定义消息类。 因此,在应用程序中使用消息的代码中更容易找到。