1

即使可能没有必要,我是否应该始终使用命令?

或者我应该只在更多的东西、菜单项、按钮等在单击时执行相同代码的情况下使用命令?

也许始终使用 Command 是一种好习惯,或者它可能会增加额外的不必要的复杂性。我是 WPF 新手,所以请分享一些建议。

4

1 回答 1

3

如果您使用的是 MVVM 模式,这在每个严肃的 WPF 应用程序中都是必需的,那么“ICommand”是处理不是纯接口逻辑的每个操作的方法。

我会解释:

您可能知道,MVVM 模式区分了 Model、ViewModel 和 View,其中 ViewModel 介于 Model 和 View 之间。ViewModel 通常包含视图使用的所有数据以及您将视图绑定到的所有数据。重要的是:

View 与 ViewModel 无关

这意味着,尽管您的 View 绑定到 ViewModel,但它没有引用它,对 ViewModel 没有逻辑依赖关系。'ICommand' 弥补了这一差距:它将一个动作打包成一个可绑定的属性。这就是重点,大概:

命令将操作或函数包装到 WPF 数据绑定属性中

并且由于数据绑定是MVVM中View和ViewModel相互连接的机制,因此命令是执行每个动作的载体,无论是由一个控件触发还是由多个控件触发,它都超越了纯UI的范围(这几乎是一切):

看看这里(MSDN),这张图片来自:

MVVM

如果您不使用 MVVM,我不确定您是否需要命令。在 UI 事件处理方面,WinForms 没有显着差异。但同样:在我看来,MVVM 和 WPF 齐头并进。

于 2013-09-16T06:45:24.777 回答