View应该间接绑定到MVVM中的Model中的属性吗?

Ste*_*unn 14 c# wpf prism mvvm

假设我有一个视图.它DataContext被绑定到a ViewModelViewModel暴露Model属性.

  • 是否MVVM要绑定(例如)中的Viewto属性中的字段?ModelBinding Path=Model.FirstName
  • Model工具应该INotifyPropertyChanged

我的团队在WPF中使用Prism和MVVM.很多Prism的例子都间接地绑定了Model.我个人怀疑这是正确的做法.我认为模型中的东西应该暴露行为(不仅仅是在属性级别),并且应该通过er,events 传达重要事件- 客户可以订阅或不订阅.

我认为通过让域/模型对象INotifyPropertyChanged以某种方式实现它向全世界说它是UI/UX意识并且在ViewModels 中引入了一些冗余.

你怎么看?什么对你有用?Prism示例中使用的View/ ViewModel/ Model或混合的明显区别?

Har*_*san 23

我见过许多人INotifyPropertyChanged直接在他们身上实现Model,同样我也看到过人们也在这样做ViewModel.

我更喜欢并执行此(实现INotifyPropertyChanged)ViewModel.我同意你的看法有时在创建冗余ViewModel,但我更喜欢有明显的区别/ separatation ViewModelModel他们的目的应该是什么.对我Model来说只是字面上的一个Model.它只是我的代表Business Data而已.对我来说,它不应该导致View(通过通知属性更改事件)的任何更改.View应该谈谈ViewModel并且ViewModel应该使用Model.我不喜欢View直接影响Model.我不喜欢使用,Model.FirstName因为对我而言,MMVM通过告诉View我们的内容似乎反对Model

  • 我有10个不同的模型实例,每个实例有20个属性,在ViewModel中exlpititly暴露所有th属性是不是很痛苦? (2认同)