如何使用MEF和WPF向Prism中的itemscontrol添加视图

时间:2011-03-26 08:10:49

标签: wpf mef prism-4

我有一个应用程序,到目前为止只有2个视图。视图1是一个列表,第二个是详细视图(一旦您在视图1中选择了一个项目。

我在Prism shell中设置了一个区域,可以加载我的模块。我想要的是最初只加载模块1。当我从1中选择一个项目时,我想导航到2(然后会显示在我的itemscontrol中(顺便说一句,它是一个制表符控件)。

我遇到的问题是我要么得到a)两个视图最初都显示在我的标签控件中。

b)如果我将视图b的模块上的export属性更改为按需初始化,当我单击导航到视图时b没有任何反应。

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

我通过让所有观点被发现来解决这个问题,但是在视图的初始化中我停用所有观点接受我感兴趣的观点。当然我正在寻找更好的方法:)

foreach (var view in RegionManager.Regions["RegionFoo"].Views)
{
  if (view.GetType() == initialViewType)
  {
     RegionManager.Regions["RegionFoo"].Activate(view);
  }
  else
  {
     RegionManager.Regions["RegionFoo"].Deactivate(view);
  }
}

我在该地区注册了查看意见后执行此操作。 initialViewType是您要查找的视图类型。这假定只有视图的单个部分。

相关问题