如何在WPF中使用较大的层次结构在子控件和父窗口之间进行通信?

时间:2019-05-30 15:05:30

标签: c# wpf

控件层次很大:window,在窗口内部有控件,在里面又有一个... 他们都有视图模型。在创建父窗口之前,我会生成一些Field并作为窗口的参数传递。 我需要在子控件上显示该字段,如何不使用属性/事件/委托命令链并使用mvvm将这个字段从父级的窗口视图模型传递到子控件的视图模型? 如果父窗口和子控件之间有很多层,该如何通信?

1 个答案:

答案 0 :(得分:2)

如果遵循MVVM模式,则中间的层数应该无关紧要。例如,如果所有事情都可以在单个视图模型中发生,那么应该没有问题。但是,如果您有一个单独的视图模型作为窗口和特定控件的上下文,则最好将关系反映在视图模型侧,使顶部视图模型包含例如最底端的一个。