wpf - 查看有关ViewModel的知识

标签 wpf mvvm

我需要将 View(WPF 窗口)中的方法连接到 ViewModel 中的事件。鉴于具体的 VM 类型并连接其事件,是否违反了 MVVM 模式到 DirectCast Object DataContext?如果是,有没有更好的方法来做到这一点?

最佳答案

首先看看 View 中的方法是做什么的。如果他们操纵 View ,请考虑将属性添加到您在 View 模型中的事件中更改的 View 模型并将 View 绑定(bind)到。这样,通过将 View 绑定(bind)到属性,您就无需在 View 中添加代码。

如果方法包含其他逻辑,请考虑将该逻辑移至 View 模型。

在其他情况下,将 DataContext 转换为 View 模型或接口(interface)可能是一个有效的选项,并且不违反 MVVM 模式。

将代码添加到 View 时,请考虑进行测试。自动化/单元测试 View 比测试 View 模型更难。

关于wpf - 查看有关ViewModel的知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30918422/

相关文章:

c# - 来自 WPF 项目资源的图像停止显示

wpf - FlowDocument 中的波浪下划线

c# - 有什么方法可以避免实现 ICommand 以在 MVVM 中使用 Button?

silverlight - 如何为共享同一模型的多个 View 创建 ViewModel(s)?

c# - 等效于 C# 中的 PostMessage 以使用 MVVM 与主线程同步?

c# - 在可编辑组合框中设置闪烁光标的颜色

c# - 从 View 模型 (WPF) 调用 View 中的动画

c# - 在 ICommand 操作期间更新标签

c# - IsChanged with IChangeTracking Not Firing on Window Close WPF MVVM C#

android - 将数据从一个 View 模型传递到另一个 android MVVM