我有一个同事问我为什么要使用ICommand模式.
他想添加一个按钮,然后在后面的代码中为它创建一个事件.然后从事件他想在ViewModel上调用一个方法.
我给了他明显的答案:这增加了View和ViewModel之间的耦合.但他认为View和ViewModel已经耦合了.(我们将视图的DataContext设置为后面View视图中的ViewModel:DataContext = new MyViewModel();
是的,我告诉他,他的方式增加了"更多耦合",但它对我来说听起来有点蹩脚.
所以,我知道ICommand是干净的方式,我这样做.但除了不使用现有的耦合器之外,ICommand还会为您带来什么呢?
Tig*_*ran 10
这不是解耦,而是你可以深入了解ModelView层次结构:不是事件抽取,而是事件路由,内置于框架中.
它是关于UI managent:命令有状态(CanExecute),如果将命令分配给控件,如果命令的状态变为false
,则控制变为禁用状态.它为您提供了强大的UI状态管理方式,避免了大量的意大利面条编码,尤其是复杂的UI.
归档时间: |
|
查看次数: |
429 次 |
最近记录: |