控件层次很大:window,在窗口内部有控件,在里面又有一个... 他们都有视图模型。在创建父窗口之前,我会生成一些Field并作为窗口的参数传递。 我需要在子控件上显示该字段,如何不使用属性/事件/委托命令链并使用mvvm将这个字段从父级的窗口视图模型传递到子控件的视图模型? 如果父窗口和子控件之间有很多层,该如何通信?
答案 0 :(得分:2)
如果遵循MVVM模式,则中间的层数应该无关紧要。例如,如果所有事情都可以在单个视图模型中发生,那么应该没有问题。但是,如果您有一个单独的视图模型作为窗口和特定控件的上下文,则最好将关系反映在视图模型侧,使顶部视图模型包含例如最底端的一个。