【发布时间】:2011-01-05 00:18:39
【问题描述】:
我一直在重构一些最初在 MVVM Foundation 中使用 Messenger 的代码,现在在 MVVM Light Toolit 中使用 Messenger。我似乎找不到等价物的一件事是,您想要做的只是发送一个令牌(即,令牌充当消息的唯一标识符 和消息本身)。
原始代码(MVVM 基金会) - 一个字符串完成所有操作
// send code
mvvmFoundationMessenger.NotifyColleagues("QuestionTimedOut");
// register code
mvvmFoundationMessenger.Register(
"QuestionTimedOut",
() => UpdateOnQuestionTimedOut());
新代码(MVVM Light) - 还有比这更优雅的解决方案吗?
// send code
mvvmLightMessenger.Send("QuestionTimedOut", "QuestionTimedOut");
// register code
mvvmLightMessenger.Register<string>(
this,
"QuestionTimedOut",
token => UpdateOnQuestionTimedOut());
我意识到我可以明确地新建一个 NotificationMessage,但这会添加更多代码。
【问题讨论】:
-
下一个版本准备好了吗?从 MVVM Foundation 到 MVVM Light,我正在做同样的事情!
-
@Dimitris,到目前为止,这还没有解决。
标签: wpf mvvm mvvm-light