zoukankan      html  css  js  c++  java
  • 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;
            //}

  • 相关阅读:
    mysql简单介绍及安装
    LVS
    LAMP架构
    记录一个低级又让人踩坑的bug(org.springframework.web.method.annotation.MethodArgumentTypeMismatchException)
    Hadoop通过idea连接远程集群出现的用户权限问题
    linxu离线环境安装docker
    linux中oracle的使用问题简单罗列与解决
    Linux下安装Oracle详细版-附oracle11g软件包
    Host is not allowed to connect to this MySQL server问题解决
    kettle的安装使用及介绍
  • 原文地址:https://www.cnblogs.com/iwangjun/p/2385803.html
Copyright © 2011-2022 走看看