即使可能没有必要,我是否应该总是使用Command?
或者我应该只在更多东西,菜单项,按钮, 无论如何,点击时执行相同的代码?
也许总是使用Command是好的做法,或者它可能会增加额外的 不必要的复杂我是WPF的新手,所以请分享一些建议。
答案 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,我不确定您是否需要命令。关于UI事件处理,WinForms没有显着差异。但同样:MVVM和WPF在我看来是齐头并进的。