如何使用 MEF 和 WPF 将视图添加到 Prism 中的项目控件
我有一个应用程序,到目前为止只有 2 个视图。视图 1 是一个列表,第二个是详细视图(一旦您在视图 1 中选择了一个项目)。
我已经在 Prism shell 中设置了一个区域,并且可以加载我的模块。我想要的只是模块 1当我从1中选择一个项目时,我想导航到2(然后它会显示在我的项目控件中(顺便说一下,这是一个选项卡控件)。
我遇到的问题是我要么得到a) 两个视图最初都显示在我的选项卡控件中
b) 如果我将视图 b 的模块上的导出属性更改为按需初始化,则当我单击导航到视图 b 时,什么也不会发生。
任何帮助将不胜感激。谢谢。
I have an application which, so far has only 2 views. View 1 is a list and the second is a detail view (once you've selected an item in view 1.
I've set up a region in my Prism shell and can get my modules loaded. What I want is for only module 1 to load initially. When I've selected an item from 1 then I want to navigate to 2 (which would then show up in my itemscontrol (which, by the way, is a tab control).
Problem I have is that I either get a) both views show initially in my tab control.
b) If I change the export attribute on view b's module to initialise on demand, when I click to navigate to view b nothing happens.
Any help would be much appreciated. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我通过让所有视图被发现来解决这个问题,但在视图初始化时,我停用所有视图并接受我感兴趣的视图。当然,我正在寻找一种更好的方法:)
我在视图完成后执行此操作已在该地区登记为发现。 initialViewType 是您希望查找的视图类型。这假设只有一个视图的单例。
I have got around this by letting all the views be discovered but on initalisation of the view I deactivate all views accept the one I'm interested in. Of course I'm looking for a better way :)
I do this after the views have been registered for disovery in that region. initialViewType is the type of view you wish to find. This assumes only a singleton of the view.