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");
确保在发送之前首先注册该消息。
编辑:对于每种消息类型,我创建了一个自定义消息类。 因此,在应用程序中使用消息的代码中更容易找到。