WPF中的WPF命令和事件有什么区别?

8 c# wpf conceptual mvvm

我只是在WPF中搜索WPF命令和事件之间的区别.我登陆了stackoverflow的下一页,讨论正在进行中.

WPF Command和Event有什么区别?

我只能从那里了解

  1. 命令可以在业务层中编写,而事件仅在演示中编写
  2. 单个命令可以与许多控件关联,但事件只能与一个控件关联.

我对吗?它们之间还有其他区别吗?

Den*_*nko 6

你说得对,但只是部分.

  1. 主要关注的是事件不适合MVVM范式.简单地说事件几乎不可插入,您无法绑定到事件处理程序.然而,在表示层中使用命令没有限制,但这样做没有任何好处.除了你可以在BLL中捕获你的控件并附加事件处理程序,但这种情况更糟.
  2. 不可以.只要事件参数类型匹配,事件处理程序也可以与不同的控件相关联.

命令还为您提供一些免费的好处.例如,如果CanExecute()返回false,则禁用使用命令元素.另一个好处是使用命令迫使您遵循分离关注原则.


MrD*_*osu 5

事件是在 UI 中发生某些事情时发生的触发器。命令是您的域模型处理此事件的方式。