我应该何时使用Command
以及何时使用Click
事件?
F.e。如果我的UWP应用程序中有Button
我应该使用什么?
答案 0 :(得分:12)
我何时应该使用Command以及何时使用Click事件?
你的问题很广泛,我只想回答:" 取决于"。 这是因为:
Command
实现了ICommand
界面,这意味着需要添加更多代码才能添加到您的应用中,但这通常不会发生变化。相反,事件处理程序不需要任何接口实现。CanExecute
逻辑的代码,以说明命令何时可以执行。这不是在简单的事件处理程序中请求的(例如 MyButton_Click )。这意味着,使用Command
,您可以更好地控制用户界面的元素(如果CanExecute
为false
,则按钮不会执行任何操作。)Command
,则会将其绑定到 DataContext ( ViewModel ,如果实现MVVM模式)。相反,当您添加一个简单的事件处理程序(如 MyButton_Click )时,代码将被放置在代码隐藏中,这是主窗口背后的逻辑。这意味着实施Command
,根据我的说法,您只需要在一个地方( ViewModel )拥有您需要修改的所有内容,而不是分散在项目中各处的逻辑。 当然,您可以使用您想要的任何内容,我的观点只是为了让您了解这些不同的实施方案,并且您必须考虑哪种解决方案适合您,同时考虑您已经给出的要求(比如:&#34;不要使用事件处理程序&#34;或者&#34;命令太高级了,让我们只使用简单的东西&#34;等等)<您的项目中的强>和/或其他约束。