2011-04-19 71 views
10

委托命令和路由命令之间有什么区别?委托命令和路由命令

我读了一些文章,说使用MVVM代替命令而不是路由命令。

那么当我们使用MVVM时,Delegate Command比Routed Command有什么优势?

回答

11

使用DelegateCommand(又名RelayCommand)的一些优点是:

1)需要更少XAML /代码来支持他们(不需要CommandBindings)

2)命令实现代码可以很容易地写入ViewModel类

3)他们不采取对UI元素树的依赖才能正常工作,这也有助于提高性能

由于很多第三方的UI控件的使用路由命令,大多数开发商最终使用路由命令当依赖这些控件时。

如果您最终需要使用路由命令,请查看我的Using RoutedCommands with a ViewModel in WPF文章以查看简化操作的方法。

+0

DelegateCommand和RelayCommand是ICommand的两种不同实现。 DelegateCommand也不被称为RelayCommand。 – AzzamAziz 2016-04-04 13:19:29