2011-04-19 10 views
10

¿Cuál es la diferencia entre el comando de delegado y el comando enrutado?Comando de delegado y comando enrutado

He leído un artículo que dice usar comando de delegado en MVVM en lugar de comando enrutado.

¿Cuáles son las ventajas del comando de delegado sobre el comando enrutado cuando utilizamos MVVM?

Respuesta

11

Algunas ventajas de utilizar un DelegateCommand (aka RelayCommand) son:

1) requiere menos XAML/código para apoyar ellos (no necesita Comandos)

2) El código de implementación del comando se puede escribir fácilmente en las clases ViewModel

3) No tienen una dependencia en el árbol de elementos de interfaz de usuario para que funcione correctamente, lo que también ayuda a mejorar el rendimiento

Dado que una gran cantidad de controles de interfaz de usuario de terceros utilizar comandos enrutados, la mayoría de los desarrolladores terminan utilizando comandos enrutados cuando toma una dependencia de esos controles.

Si necesita usar comandos enrutados, consulte mi artículo Using RoutedCommands with a ViewModel in WPF para ver una manera de simplificar las cosas.

+0

DelegateCommand y RelayCommand son dos implementaciones diferentes de ICommand. DelegateCommand tampoco se conoce como RelayCommand. – AzzamAziz

Cuestiones relacionadas