winform what que application app wpf

what - wpf en c#



Comandos WPF vs Eventos Ventajas/Desventajas (5)

Además, WPF4.0 permite el enlace a las definiciones de comandos. Esto hace que sea aún más fácil exponer los comandos de sus modelos de vista, ayudándolo por completo a separar la lógica de las preocupaciones de UI.

¿Alguien puede decirme cuáles son las ventajas de usar comandos vs eventos en WPF? ¿Los comandos o eventos se encuentran con pérdidas de memoria? ¿Cuál es el enfoque más rápido? Cuáles son sus desventajas


Los comandos proporcionan dos beneficios principales sobre los controladores de eventos:

  1. los comandos no están vinculados a la persona que llama, por lo que el mismo comando no es dependiente y se puede llamar desde el elemento del menú, el botón de la barra de herramientas, el teclado, etc.
  2. los comandos proporcionan soporte para habilitar / deshabilitar todos los controles de interfaz de usuario relacionados en función del estado del comando (se puede ejecutar o no)

Preferiría usar comandos en el proyecto real, especialmente si quieres usar MV-VM.

No he oído hablar de pérdidas de memoria relacionadas con los comandos.

Los eventos son probablemente más rápidos, pero la diferencia no debería ser significativa. He estado usando comandos en mis proyectos durante 2 años y no tuve ningún problema de rendimiento con ellos.

Para obtener más información sobre los comandos, consulte Información general al mando ( archive ) ( v4 )


Los comandos son eventos enrutados.


Los comandos son una forma más estándar de integrar eventos. el puede ser más útil que los eventos porque con la ayuda de ellos puede definir una única tarea (comando) y usarla desde diferentes lugares. por ejemplo, puede definir un comando de guardar y usar un elemento de menú, un elemento de menú contextual y un botón para usarlo al mismo tiempo. De esta forma puedes centralizar las tareas. también comandos de soporte de enlace de datos que es una característica muy poderosa de la aplicación WPF. por lo que yo sé, los comandos conducen a ciertos tipos de pérdidas de memoria, pero puedes evitar eso usando muchas soluciones. Debo agregar que el patrón de diseño MVVM también usa comandos como una forma estándar para diseñar la aplicación WPF. trabajar con eventos es mucho más simple pero los comandos proporcionan un diseño mucho más potente. pero debes ahora que no siempre puedes usar comandos en lugar de eventos. Hay muchos lugares donde solo puedes usar eventos.


Pero aunque los Comandos y Eventos pueden superponerse, son dos cosas diferentes. Los comandos dicen "¡haz esto!", Mientras que los eventos dicen "¡esto acaba de suceder!". Por lo tanto, podría tener un CloseWindowCommand para cerrar una ventana, pero la ventana podría tener un ClosingEvent que le diga a los objetos que se están abonando que se está cerrando.