silverlight - 使用 MVVM Light 从 ViewModel 查看通知

标签 silverlight mvvm mvvm-light

在我的 silverlight 应用程序中,我需要从 ViewModel 向 View 发送通知。作为对它的响应,应该调用 UI 控件上的方法。我知道有两种方法可以做到这一点:

1)在 ViewModel 中引发一个事件,并在 View 的代码中处理它。
2) 从 ViewModel 发送消息(使用 MVVM Light 消息支持)并在 View 的代码中响应此消息。

我想知道是否有一种方法可以在不使用 View 后面代码中的代码的情况下完成此操作,例如通过 XAML 中的某种数据绑定(bind)?

请分享任何想法。

有关 View 在收到来自 ViewModel 的通知时应该做什么的附加信息
在 View 的 XAML 中,我声明了一个自定义 Silverlight 网格控件的实例,它具有以下方法:public void FileExportFinished(bool fileExportSucceeded)我想从 XAML 调用此方法,以响应从 ViewModel 收到的通知,并传递与通知一起收到的 bool 值。

最佳答案

是的......你可以在依赖属性的帮助下做到这一点。

  • 为该 View 创建一个依赖属性(使其成为 bool 类型,因为我们只需要此属性来调用另一个 View 方法)。
  • 在其属性更改回调中,规定调用您所需的 View 方法。
  • 然后将 DependencyProperty 与 ViewModel 中的属性绑定(bind)。
  • 因此,当您需要更新 View 时,只需设置上面提到的绑定(bind)属性,这将触发 Dependency 属性的属性更改回调,并在那里调用您所需的 View 方法。
  • 关于silverlight - 使用 MVVM Light 从 ViewModel 查看通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12126363/

    相关文章:

    c# - 了解 Silverlight 调度程序

    Silverlight (3.0) : How to add cell padding to a Grid?

    wpf - 在 'System.Windows.StaticResourceExtension' 上提供值引发异常

    c# - 从绑定(bind)到我的 XAML 中的事件调用我的 ViewModel 中的命令?

    c# - XAML 到 Html,反之亦然

    silverlight - UserControl 的内容属性内的命名控件在运行时始终显示为 null

    wpf - 如何在双击时禁用WPF TreeView中的树项展开/折叠

    ios - 如何在 Swift 的泛型中声明基类?

    c# - 将动态创建的组合框绑定(bind)到 View 模型上的属性

    c# - WPF - MVVM Light、Ribbon Control、嵌套用户控件/ View 以及在用户控件/ View 之间使用事件