Delegate命令和Routed命令有什么区别?
我读过一些文章,说在MVVM上使用委派命令而不是路由命令。
那么,当我们使用MVVM时,Delegate Command相对于Routed Command有什么优势呢?
发布于 2011-04-19 21:26:55
使用DelegateCommand的一些优点(也称为RelayCommand)包括:
1)需要更少的XAML/代码来支持它们(不需要CommandBindings)
2)命令实现代码可以很容易地用ViewModel类编写
3)它们不依赖于UI元素树才能正常工作,这也有助于提高性能
由于许多第三方UI控件都使用路由命令,因此大多数开发人员在依赖这些控件时最终都会使用路由命令。
如果您最终需要使用路由命令,请查看我的Using RoutedCommands with a ViewModel in WPF文章,了解简化操作的方法。
发布于 2011-04-19 09:38:29
顾名思义,RoutedCommands是路由的,这意味着它们通过VisualTree向上或向下传输,并检查是否有针对它们的CommandBindings。请参阅Routed Events Overview和Commanding Overview。
另请参阅各个类的参考:
DelegateCommand
RoutedCommand
https://stackoverflow.com/questions/5710630
复制相似问题