有人可以为我解释一下 MVVM Light 的 Messenger 吗?我在这里读了一篇关于 StackOverflow 的文章:MVVM pass values between view models trying to get this。目前关于 MVVM Light 的文档还不是很好,所以我完全不确定该去哪里。
假设我有两个 ViewModel 和一个 ViewModelLocator。我希望能够在所有三个之间传递参数而不会出现问题。我将如何与信使一起做这件事?它有这个能力吗?
编辑:这是我的新实现。到目前为止,看起来 MessengerInstance 似乎不需要令牌。我非常困惑。
在第一个 ViewModel 中:
MessengerInstance.Send<XDocument>(SelectedDocument);
在第二个:
MessengerInstance.Register<XDocument>(this, xdoc => CopySettings(xdoc));
可能是完全错误的。还没有机会对其进行测试,但是当我这样做时,Visual Studio 对我的愤怒会减少。MessengerInstance 也会在消息发送之前注册。