能否只通过MVVM Light Messenger发送一个令牌?

5
我一直在重新构建某些使用MVVM Foundation中的Messenger的代码,现在要改为使用MVVM Light Toolit中的Messenger。有一件事情我似乎找不到相应的替代方案,那就是在你只想发送一个Token的情况下(即,Token同时充当消息的唯一标识符和消息本身)。
原始代码(MVVM Foundation)- 一个字符串搞定所有。
// send code
mvvmFoundationMessenger.NotifyColleagues("QuestionTimedOut");

// register code
mvvmFoundationMessenger.Register(
    "QuestionTimedOut",
    () => UpdateOnQuestionTimedOut());

“New Code (MVVM Light)” - 有没有比这更优雅的解决方案?
// send code
mvvmLightMessenger.Send("QuestionTimedOut", "QuestionTimedOut");

// register code
mvvmLightMessenger.Register<string>(
    this,
    "QuestionTimedOut",
    token => UpdateOnQuestionTimedOut());

我意识到我可以明确地创建一个NotificationMessage,但那将会增加更多的代码。

下一个版本准备好了吗?我正在从MVVM Foundation转换到MVVM Light做完全相同的事情! - Dimi_Pel
@Dimitris,到目前为止,这个问题还没有解决。 - devuxer
2个回答

5
很好的建议。我已将其放入MVVM Light VNext的待办事项中。

0

你可以从MvvmLight的Messenger派生并添加自己的便捷方法,或者在扩展类中添加Messenger扩展方法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接