【问题标题】:MVVM messaging or events or what other option out therer?MVVM 消息传递或事件或其他选项?
【发布时间】:2010-12-21 18:35:52
【问题描述】:

我在 MainViewModel 中有一个菜单,现在在选择一个特定的 menuItem 时我想更新已经加载的视图的数据。

即尽管在 MainViewModel 中有该 viewModel 的一个实例,但当我尝试通过该实例调用该方法并更改数据属性时,它不会显示视图中的更改。而当我使用该视图模型视图上的按钮通过中继命令调用该方法时,会发生相同的变化。

现在好像我需要从 MainViewModel 调用该 viewModel 的中继命令,我想这会解决问题,但是该怎么做呢?什么是最简单的方法。我需要使用消息传递吗?

【问题讨论】:

    标签: wpf mvvm mvvm-light


    【解决方案1】:

    我尝试了 MVVM Light messenger 类,它非常简单和优雅(保持 ViewModel 松散耦合)!最重要的是它有效

    代码: 发送: Messenger.Default.Send(stringParameter, "key_anything"); 登记: Messenger.Default.Register(this, "key_anything", invokeFunction); 私人无效invokeFunction(字符串stringParamter) { //代码在这里! }

    【讨论】:

    • 不应该是“保持 ViewModels de耦合”吗?
    • @chibacity,对,我漏掉了这个词,会编辑它,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 2021-05-16
    相关资源
    最近更新 更多