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

时间:2013-04-17 11:58:10

标签: c# wpf mvvm conceptual

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

What is the difference between WPF Command and Event?

我只能从那里了解

  1. 命令可以在业务层中编写,而事件只在演示文稿中
  2. 单个命令可以与许多控件关联,但事件只能与一个控件关联。
  3. 我是对的吗?它们之间还有其他区别吗?

2 个答案:

答案 0 :(得分:6)

你说得对,但只是部分。

  1. 主要关注的是事件不合适 进入MVVM范式。简单地说事件几乎不可插入,您无法绑定到事件处理程序。然而,在表示层中使用命令没有限制,但这样做没有任何好处。除了你可以在BLL中捕获你的控件并附加事件处理程序,但这种情况更糟。
  2. 否。事件处理程序也可以关联 只要事件args类型匹配,就会有不同的控件。
  3. 此外,命令还为您提供一些免费优惠。例如,如果CanExecute()返回false,则禁用使用命令元素。另一个好处是使用命令迫使您遵循Separation of concerns原则。

答案 1 :(得分:4)

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