• JohnSon:基于MefBootstrapper的Bootstrapper


    public class Bootstrapper : MefBootstrapper
        {
            ModuleCatalog moduleCatalog;

            protected override void InitializeShell()
            {
                base.InitializeShell();

                Application.Current.RootVisual = (UIElement)Shell;
            }

            protected override DependencyObject CreateShell()
            {
                return Container.GetExportedValue<Shell>();
            }

            protected override void ConfigureAggregateCatalog()
            {
                base.ConfigureAggregateCatalog();
                AggregateCatalog.Catalogs.Add(new AssemblyCatalog(this.GetType().Assembly));
            }

            protected override void ConfigureContainer()
            {
                base.ConfigureContainer();
                this.Container.ComposeExportedValue<ModuleCatalog>(this.moduleCatalog);
            }

            /// <summary>
            /// 以文件配置加载模块信息
            /// </summary>
            /// <returns></returns>
            protected override IModuleCatalog CreateModuleCatalog()
            {
                //
                moduleCatalog = Microsoft.Practices.Prism.Modularity.ModuleCatalog.CreateFromXaml(new Uri("/KJ;component/ModulesCatalog.xaml", UriKind.Relative));
                return moduleCatalog;
            }

            /// <summary>
            /// 以代码来加载模块信息
            /// </summary>
            /// <returns></returns>
            //protected override IModuleCatalog CreateModuleCatalog()
            //{
            //    ModuleCatalog moduleCatalog = new ModuleCatalog();

            //    //moduleCatalog.AddModule
            //    //(
            //    //    new ModuleInfo
            //    //    {
            //    //        InitializationMode = InitializationMode.OnDemand,
            //    //        Ref = "ModuleA.xap",
            //    //        ModuleName = "ModuleARegion",
            //    //        ModuleType = "ModuleA.ModuleARegion, ModuleA"
            //    //    }
            //    //);

            //    //moduleCatalog.AddModule
            //    //(
            //    //    new ModuleInfo
            //    //    {
            //    //        Ref = "ModuleLogin.xap",
            //    //        ModuleName = "ModuleLogin",
            //    //        ModuleType = "ModuleLogin.ModuleLogin, ModuleLogin"
            //    //    }
            //    //);

            //    moduleCatalog.AddModule
            //    (
            //        new ModuleInfo
            //        {
            //           // InitializationMode = InitializationMode.OnDemand,
            //            Ref = "ModuleMain.xap",
            //            ModuleName = "ModuleMain",
            //            ModuleType = "ModuleMain.ModuleMain, ModuleMain"
            //        }
            //    );

            //    return moduleCatalog;
            //}

  • 相关阅读:
    OGG实验:喂奶间隔数据表通过OGG配置同步
    Oracle Exadata 学习笔记之核心特性Part1
    js 表格指定列,根据相同值实现跨行合并
    tr td同时添加点击事件
    Oracle 分页查询
    tomcat启动时运行指定的java类
    application/x-www-form-urlencoded与multipart/form-data与application/json的区别 精析
    nodejs中thiskeyword的问题
    AlphaGo 开源项目研究(1)
    LeetCode -- Best Time to Buy and Sell Stock II
  • 原文地址:https://www.cnblogs.com/iwangjun/p/2385803.html
Copyright © 2020-2023  润新知