我是WPF的新手并使用MVVM设计模式。为了帮助我们学习这个,我正在开发一个简单的骰子滚动应用程序。
现在,我有一个Dice类和一个DiceViewModel类。我还有一个MainWindowViewModel类,它包含一个可观察的DiceViewModels集合。
当用户点击“滚动”按钮时,它会向我的MainWindowViewModel启动一个命令,以便在每个DiceViewModel上调用Roll。
据我所知,Commands用于GUI绑定到ModelView而不需要代码隐藏。
所以我的问题。我的MainWindowViewModel是否适当的MVVM直接在每个DiceViewModel上调用Roll,或者它应该使用命令来执行此操作吗?
或者换句话说,如果所有(或大多数)viewmodel方法都没有被GUI直接绑定,那么它们是否应该通过命令进行访问?
答案 0 :(得分:2)
不,在VM上调用另一个很好。请注意它产生的耦合。