我正在尝试将包含在存储库中的数据服务(实体管理器)从模块 A 中的 ViewModel(称为“AVM”)共享到模块 B 中的 ViewModel(称为“BVM”),但我无法正常工作. 我们使用 PRISM/Unity 2.0
这是我的场景:
一个用户可以打开多个客户屏幕(作为迷你外壳的复合视图),每个屏幕与另一个客户(工作单元)一起打开。我们使用子容器来实现这一点。每个子容器使用自己的实体管理器解析自己的存储库(存储库是子容器中的单例)。这是在模块 A 中完成的。主 shell 有一个主区域管理器,每个客户屏幕及其子容器都会创建一个作用域区域。在每个客户屏幕中都有一个视图“AV”(连接到 ViewModel“AVM”),其中一个子区域(选项卡控件)注册为“子区域”。我们用“屏幕工厂”创造了这个
在模块 B 中,我们在视图“BV”和视图模型“BVM”中有一个客户订单。在模块 B 的构造函数中,我们通过注入获得主容器。在初始化方法中,我们解析(主)区域管理器并使用它注册 View 'BV'。在 View 'BV' 的构造函数中,注入/创建了 ViewModel 'BVM'。
现在这可行,但 ViewModel 'BVM' 无法获取子容器。它只获取主容器。这是可行的,还是我必须以另一种方式做到这一点?
谢谢,尼尔斯