我需要使用棱镜。 (我需要复合UI)。但是从MVVM Light的演示看起来很酷。
两者可以一起工作吗?或者这是个坏主意?
有人能告诉我一个如何让它们一起工作的例子吗?
对于MVVM方面,我想要复合UI和MVVM Light的棱镜。
答案 0 :(得分:11)
是的,他们合作得很好
它们都是框架库,因此您可以从中选择您想要的部分。例如,我喜欢使用Prism的NotificationObject
(ViewModelBase),而是MVVM Light的Messenger
(用于视图模型之间通信的事件系统)。
有时我甚至会在项目中同时使用Prism的DelegateCommand
和MVVM Light RelayCommand
,即使它们都是同一个东西(两者之间的主要区别是你必须手动提升CanExecuteChanged()
DelegateCommand
RelayCommand
,{{1}}自动执行此操作,有时需要更频繁地执行此操作)
答案 1 :(得分:4)
我们在项目中使用PRISM。虽然PRISM可以使用像MVVM light这样的免费框架,但其中一些框架可以说是“更好”的PRISM组件,整体解决方案PRISM的工作原理非常好。此外,我认为如果没有令人信服的理由,在项目中使用一种技术会更简单。
使用PRISM的一个优点是教程和帮助学习该技术是非常好的。团队的任何新成员都应该发现掌握这些概念相对容易。
答案 2 :(得分:3)
Prism和MVVM light都是MVVM框架,因此使用其中一个是有意义的。