【问题标题】:Is it possible to send just a token via the MVVM Light Messenger?是否可以通过 MVVM Light Messenger 只发送一个令牌?
【发布时间】: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


【解决方案1】:

好点。我把它放在了 MVVM Light VNext 的待办事项上。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-03-14
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      • 2021-01-07
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 2011-06-16
      相关资源
      最近更新 更多