什么时候应该使用 Command
什么时候使用 Click
事件?
如果我的 UWP 应用程序中有一个 Button
,我应该使用什么?
最佳答案
When should I use the Command and when to use the Click event?
你的问题很宽泛,我会简单地回答:“It depends”。 因为:
Command
实现ICommand
界面,这意味着要向您的应用程序添加更多代码,但通常这不会改变。相反,事件处理程序不需要任何接口(interface)实现。- 对于您想要的每个命令,您必须提供处理点击和
CanExecute
的代码。逻辑,说明命令何时可以执行。这不是在简单的事件处理程序(如 MyButton_Click)中请求的。这意味着,使用Command
,您将可以更好地控制 UI 的元素(如果CanExecute
是false
,则按钮不会执行任何操作)。 - 当你想添加
Command
,您将把它绑定(bind)到您的 DataContext(ViewModel,如果您实现 MVVM 模式)。相反,当您添加一个简单的事件处理程序(如 MyButton_Click)时,代码将放置在您的代码隐藏中,即主窗口背后的逻辑。这意味着实现Command
,根据我的说法,您将在一个地方(ViewModel)拥有您需要修改的所有内容,而不是散布在项目各处的逻辑。
当然,您可以使用任何您想要的,我的观点只是为了让您深入了解这些不同的实现方式,您必须考虑哪种解决方案适合您,还要考虑您的要求(例如:“不要使用事件处理程序”或“命令太高级,让我们使用一些简单的东西”等)和/或项目中的其他约束。
关于c# - 命令(ICommand)和点击事件的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39556197/