XAML Command(ICommand)和Click事件之间的差异

nmpmafwu  于 2023-03-10  发布在  其他
关注(0)|答案(1)|浏览(142)

何时应该使用Command,何时使用Click事件?
F.E.如果我的UWP应用中有Button,我应该使用什么?

mwecs4sa

mwecs4sa1#

何时应使用Command以及何时应使用Click事件?
你的问题很宽泛,我只想简单地回答:“看情况"。因为:

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

在一天结束时,您可以选择最适合自己的方案,同时考虑您的要求(例如:“不要使用事件处理程序”或“命令太高级,让我们使用简单的命令”等)和/或项目中的其他约束。

相关问题