Command(ICommand)和Click事件之间的区别

Mar*_*ský 10 c# xaml win-universal-app uwp windows-10-universal

我什么时候应该使用Command和何时使用该Click活动?

如果Button我的UWP应用程序中有我应该使用的是什么?

Alb*_*ano 15

我什么时候应该使用Command以及何时使用Click事件?

你的问题很广泛,我只想回答:" 这取决于 ".因为:

  • Command实现了ICommand接口,这意味着更多的代码添加到您的应用程序,但通常这不会改变.相反,事件处理程序不需要任何接口实现.
  • 对于您想要的每个命令,您必须提供将处理单击和CanExecute逻辑的代码,以便说明命令何时可以执行.在简单的事件处理程序(如MyButton_Click)中不需要这样做.这意味着,使用a Command,您将可以更好地控制UI的元素(如果CanExecute是,按钮将不会执行任何操作false).
  • 如果要添加a Command,则将其绑定到DataContext(ViewModel,如果实现MVVM模式).相反,当您添加一个简单的事件处理程序(如MyButton_Click)时,代码将被放置在代码隐藏中,这是主窗口背后的逻辑.这意味着实现一个Command,根据我的说法,你将拥有在一个地方(ViewModel)修改所需的一切,而不是分散在项目中各处的逻辑.

当然,您可以使用您想要的任何内容,我的观点只是为了让您了解这些不同的实现,您必须考虑哪种解决方案适合您,同时考虑您已经给出的要求(例如:"Don'使用事件处理程序"或"命令太高级,让我们只使用简单的"等" 和/或项目中的其他约束.

  • 简单易懂的答案 (2认同)