首页 > 解决方案 > 如何在wpf中具有大层次结构的子控件和父窗口之间进行通信?

问题描述

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

标签: c#wpf

解决方案


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


推荐阅读