我不确定我是否准确回答了你的问题。但我建议你看一下 Prism2.2 附带的 Sample project -> Quickstarts -> UI Composition -> View Injection。这使用 Unity,示例在 Silverlight 和 WPF 中。
这有如何显示来自不同模块的视图的示例。它不调用其他项目的控制器,而是调用演示者。
IProjectsListPresenter projectsListPresenter = this.container.Resolve<IProjectsListPresenter>();
projectsListPresenter.SetProjects(employee.EmployeeId);
IRegionManager detailsRegionManager = detailsRegion.Add(detailsPresenter.View, employee.EmployeeId.ToString(CultureInfo.InvariantCulture), true);
IRegion region = detailsRegionManager.Regions[RegionNames.TabRegion];
region.Add(projectsListPresenter.View, "CurrentProjectsView");
detailsRegion.Activate(detailsPresenter.View);
使用 activate 方法来激活视图。或者,如果是特定要求/需要导航,您可以将 detailsRegionManager.RequestNavigate 与 UriQuery 一起使用。(我没有尝试过请求导航自己:)
另外请查看此帖子
http://compositewpf.codeplex.com/discussions/402860#post940396
希望这可以帮助。
祝你好运!