在WPF(MVVM)中对小型操作使用单击事件是否可以?

Dig*_*rma 0 c# wpf xaml mvvm

我有一个使用MVVM实现的WPF应用程序.但是对于一些小的操作,例如滚动,确认框按钮单击,左键单击操作,右键单击操作等,我在视图中直接使用click事件.

我知道MVVM不推荐这样做,但是在使用MVVM时是否可以使用这样的点击事件或编码错误?使用它有什么利弊?

Noa*_*m M 5

MVVM模式为您提供:

  • 关注点分离(所有UI模式都适用)
  • 通过在没有视图的情况下执行视图模型来对视图逻辑进行单元测试.
  • Developer-Designer工作流程,允许使用Blend的设计人员处理相同的代码.

如果在后面的代码中处理UI事件并不禁止上述内容,则没有问题.我个人会尽可能使用命令,但不关心是否需要一些代码隐藏.

可以使用事件,但允许代码隐藏事件的问题在于它是一个滑坡.你添加一个东西,然后添加另一个东西,突然间你在codebehind类中创建了实际的逻辑.(如果你和团队中其他经验不足的程序员一起工作,那就更加突出了).

这就是为什么一些程序员更喜欢,几乎没有例外,不想编写AT ALL代码.每个代码都适合代码隐藏而不是真正的应用程序逻辑代码也可以在行为中编写,这使得体系结构更加严格和简单.