【问题标题】:MVVM in WPF how to communicate with the viewmodelWPF中的MVVM如何与viewmodel通信
【发布时间】:2013-08-14 20:15:13
【问题描述】:

我想我对 MVVM 中的通信方式仍然有些模糊。我读到您不应该使用事件与视图模型进行通信,因此我假设您发送命令。

然而,命令实际上是在可视化树(视图)中冒出来的,对吧?所以它可能会到达一些可以处理命令的目标控件。该目标控件是否具有可以修改模型的视图模型?

抱歉,我真的很困惑如何从视图获取命令到模型。我假设以另一种方式获取信息只是让模型实现 Inotifypropertychanged 以告诉 viewmodel 它已更改然后让 viewmodel 实现 inotifypropertychanged 以便视图可以绑定到 viewmodel 并更新属性的简单问题。

http://blogs.msdn.com/blogfiles/erwinvandervalk/WindowsLiveWriter/ImplementingtheModelViewViewModelpattern_D996/image_14.png

【问题讨论】:

    标签: c# wpf xaml mvvm


    【解决方案1】:

    并非所有命令都冒泡 - 这些是 RoutedUICommands,它们只是框架提供的 ICommand 接口的特定实现。您可以实现自己的具有自定义行为的 ICommand 对象,并像普通对象一样工作(无冒泡、隧道)。如果您在 ViewModel 中创建它们,某些 View 对象(如 Buttons 和 MenuItems)可以通过它们的“Command”属性直接绑定到它们。

    【讨论】:

      猜你喜欢
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-14
      • 1970-01-01
      • 2013-01-02
      相关资源
      最近更新 更多