专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Silverlight

Prism . MEF的有关问题?无法ModuleManage.Load成功

发布时间:2011-06-27 19:54:44 文章来源:www.iduyao.cn 采编人员:星星草
Prism . MEF的问题?无法ModuleManage.Load成功
请教下各位mef的问题。

现按照prism安装中提供的 mef源码。 然后在上面再增加一个项目做验证熟悉。

现在问题来了。我新增的项目总是无法总过IModuleManage.load来加载。

首先我说下我的步骤。我先新建一个SystemManage的应用程序项目。

删除Appl.xaml文件。新增SystemManage类,实现IModule接口代码如下:

[ModuleExport(typeof(SystemManage), InitializationMode = InitializationMode.OnDemand)]
  public class SystemManage : IModule
  {
  [Import]
  public IRegionManager regionManager;
  /// <summary>
  /// Notifies the module that it has be initialized.
  /// </summary>
  public void Initialize()
  {
  this.regionManager.RegisterViewWithRegion("MainContentRegion", typeof(MainPage));
  }
  }
 然后在systemManage项目中的MainPage.xaml中增加[Export]标记 ,
然后在Shell中增加一个Content控件注册一个MainContentRegion的(用于显示systemmanage中的页面),配置ModuleCatalog,新增<Modularity:ModuleInfo Ref="SystemManage.xap" InitializationMode="OnDemand" ModuleName="SystemManage" ModuleType="SystemManage.SystemManage, SystemManage, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
做完以上步骤之后,增加一个按钮去调用SystemManage模块,但是无法IModuleManage.load成功。
要是我将次页面增加到自带源码的部分,又可以成功。
请问下,哪位使用过mef这个框架。或者能给一个简单的例子也可以,使用时还要注意哪些方面?多谢


------解决方案--------------------
闲着也是闲着,我把步骤贴出来吧。尽可能详细些。

1、New-Project-LoadModuleTest.Main

1)把MainPage.xaml->Shell.xaml, 并Refactor一下。





引用四个DLL:


Shell用[Export]修饰一下:
C# code
using System.Windows.Controls;
using System.ComponentModel.Composition;

namespace LoadModuleTest.Main
{
    [Export]
    public partial class Shell : UserControl
    {
        public Shell()
        {
            InitializeComponent();
        }
    }
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: