我是否应该总是使用Command,即使它可能没有必要?

时间:2013-09-16 06:35:24

标签: c# wpf visual-studio-2012

即使可能没有必要,我是否应该总是使用Command?

或者我应该只在更多东西,菜单项,按钮, 无论如何,点击时执行相同的代码?

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

1 个答案:

答案 0 :(得分:3)

如果你正在使用MVVM模式,这在每个严肃的WPF应用程序中都是强制性的,那么'ICommand'就是采用非纯粹接口逻辑的每个动作的方法。

我会解释:

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

  

View与ViewModel

无关

这意味着,虽然您的View绑定到ViewModel,但它不引用它,但ViewModel没有逻辑依赖关系。 'ICommand'填补了这个空白:它将一个动作打包成一个可绑定的属性。这是重点,可能是:

  

命令将操作或函数包装到WPF databindable中   属性

由于数据绑定是在MVVM中,View和ViewModel相互连接的机制,无论是由一个控件触发还是由一个控件触发,该命令都是执行每个操作的工具。许多人超越了纯粹的UI领域(几乎所有东西):

查看here (MSDN),此图片来自:

MVVM

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