1

我想知道在 WPF 中使用命令模型的主要好处是什么。我来自 Windows 窗体和 MFC,我总是利用在事件处理程序中编写代码。

4

1 回答 1

2

这些命令允许轻松管理应该启用或不启用哪个 UI 元素(通过界面的CanExecute成员ICommand)。

在我看来,您可以在多个地方插入相同的命令,甚至可以从另一个命令调用命令,这种方式在架构上比使用事件更简洁。

使用命令,您可以编写尽可能接近真实用户在您的 UI 中单击的测试(再次使用CanExecute命令的成员,您可以轻松查看command A及其相关控件是否按计划对执行做出反应command B

在维护方面,在阅读标记时更容易理解应用程序的作用,<Button Name="SomeButton" Command="{Binding SaveClientDataCommand} />而不是<Button Name="SomeButton" OnClick="SomeButton_Click" />当您放入以前没有从事过的项目时。

如果您使用MVVM 模式,它们允许您将逻辑从 View 移动到 ViewModel。

很多这些观点都是关于个人偏好和意见的,但是当有几种方法可以做同样的事情时,情况往往会如此。轮子还没有被重新发明,你可能无法用基于事件的编程不可能的命令来做任何事情,但我觉得它更干净,更容易维护。

于 2012-10-11T01:19:06.030 回答