代码之家  ›  专栏  ›  技术社区  ›  WPF User

WPF命令与事件优点/缺点

wpf
  •  44
  • WPF User  · 技术社区  · 16 年前

    谁能告诉我在WPF中使用命令和事件的优点是什么。 命令或事件是否会导致内存泄漏?

    5 回复  |  直到 16 年前
        1
  •  39
  •   Drew Noakes    7 年前

    与事件处理程序相比,命令提供了两个主要好处:

    1. 命令未链接到 依赖,可以从中调用 菜单项、工具栏按钮、键盘、, 等
    2. 基于状态的控件 命令(可执行或不执行)

    我更喜欢在RealProject中使用命令,尤其是如果您想使用M-V-VM。

    我没有听说任何与命令有关的内存泄漏。

    事件可能更快,但差异不应该太大——我在项目中使用命令已经两年了,没有任何性能问题。

    有关命令的详细信息,请参见 Commanding Overview ( archive )( v4

        2
  •  36
  •   Torben Junker Kjær    15 年前

    因此,您可能有一个用于关闭窗口的CloseWindowCommand,但该窗口可能有一个ClosingEvent,告诉订阅对象正在关闭。

        3
  •  5
  •   Nima R    16 年前

    命令是集成事件的更标准的方式。可以比事件更有用,因为在它们的帮助下,您可以定义单个任务(命令)并从不同的位置使用它。例如,您可以定义保存命令并同时使用菜单项、上下文菜单项和按钮来使用它。通过这种方式,您可以将任务集中化。命令还支持数据绑定,这是WPF应用程序的一个非常强大的功能。据我所知,命令会导致某些类型的内存泄漏,但您可以通过使用许多变通方法来避免这种情况。我必须补充一点,MVVM设计模式还使用命令作为设计WPF应用程序的标准方式。处理事件要简单得多,但命令提供了强大的设计。但现在您必须知道,您不能总是使用命令而不是事件。有很多地方你只能使用事件。

        4
  •  0
  •   flq    16 年前

    此外,WPF4.0允许绑定到命令定义。这使得从视图模型中公开命令变得更加容易,从而帮助您将逻辑与UI问题分离。

        5
  •  -4
  •   knockNrod    16 年前

    命令是路由事件。