C# 我是否应该始终使用命令,即使它可能不是必需的?

C# 我是否应该始终使用命令,即使它可能不是必需的?,c#,wpf,visual-studio-2012,C#,Wpf,Visual Studio 2012,我是否应该始终使用命令,即使它可能不是必需的 或者我应该只在更多东西、菜单项、按钮、, 不管怎样,当点击执行相同的代码 也许总是使用命令是一种很好的做法,或者它添加了额外的命令 不必要的复杂性。我是WPF新手,所以请分享一些建议。如果您使用MVVM模式,这在每个严肃的WPF应用程序中都是必需的,“ICommand”是每个不纯粹是接口逻辑的操作的方法 我会解释: 您可能知道,MVVM模式区分模型、视图模型和视图,其中视图模型在模型和视图之间起中介作用。ViewModel通常保存视图使用的以及您将视

我是否应该始终使用命令,即使它可能不是必需的

或者我应该只在更多东西、菜单项、按钮、, 不管怎样,当点击执行相同的代码

也许总是使用命令是一种很好的做法,或者它添加了额外的命令
不必要的复杂性。我是WPF新手,所以请分享一些建议。

如果您使用MVVM模式,这在每个严肃的WPF应用程序中都是必需的,“ICommand”是每个不纯粹是接口逻辑的操作的方法

我会解释:

您可能知道,MVVM模式区分模型、视图模型和视图,其中视图模型在模型和视图之间起中介作用。ViewModel通常保存视图使用的以及您将视图绑定到的所有数据。重要的是:

视图与ViewModel无关

这意味着,尽管视图绑定到ViewModel,但它不引用它,对ViewModel没有逻辑依赖关系。“ICommand”弥补了这一差距:它有点像是将一个动作打包到一个可绑定的属性中。这可能是要点:

命令将操作或函数包装到WPF数据绑定中 财产

由于数据绑定是一种机制,在MVVM中,View和ViewModel相互连接,因此命令是执行每一个操作的工具,无论它是由一个控件触发还是由多个控件触发,都超越了纯UI(几乎是一切)的范围:

看一看,这张图片是从哪里拍摄的:


如果您不使用MVVM,我不确定您是否需要命令。在UI事件处理方面,WinForms与WinForms没有显著差异。但是,在我看来,MVVM和WPF是齐头并进的。

只对类似输入的东西使用命令。用户更改某些内容,然后您委派该命令。顺便说一句,命令的名称空间告诉您何时应该使用它们。它的System.Window.Input.我不太明白。你具体指的是什么类型的输入?用户输入。像点击,键入…等等。点击事件必须在代码隐藏中处理,在WPF中您不想使用代码隐藏。这就是为什么您应该使用命令来处理ViewModel中的用户输入。你知道MVVM模式吗?答对了。你明白了。使用MVVM、绑定和命令就可以了。对于初学者来说,很难理解什么是视图、视图模型和模型。这是正确的吗?视图=窗口+其他控件。ViewModel=属性+命令+数据绑定。Model=实现业务逻辑的更复杂的类和方法。嗯,或多或少:数据绑定是在视图中定义的,而不是在ViewModel中定义的。实际绑定(技术上)既不是视图也不是视图模型,而是“WPF魔力”。MVVM是一个相当具有挑战性的概念,我建议开始时花点时间,读一本好书,做一些教程,等等。你不会很快就学会它。。。不过,这是值得的!这是几天的学习时间,还是几个月的适应时间?很难说,这取决于你的经验以及你需要深入到其中的程度。对于基本原则和一个简单的应用程序,你需要几天的时间,直到你感觉或多或少舒适。要构建一个业务线软件,您需要一个月的时间才能获得所有的概念和最佳实践,但这不仅是因为MVVM的复杂性,而且是因为WPF的普遍性。。。只是一个很乱的猜测。。。