[转]基于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;
//}
[转]基于MefBootstrapper的Bootstrapper的更多相关文章
- Wix 安装部署教程(九) --用WPF做安装界面
经常安装PC端的应用,特别是重装系统之后,大致分为两类.一类像QQ,搜狗输入法这样的.分三步走的:第一个页面可以自定义安装路径和软件许可.第二个页面显示安装进度条,第三个页面推荐其他应用.先不管人家怎 ...
- Prism6下的MEF:基于微软企业库的Cache
通常,应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能.基于微软的企业库,我们的快速创建一个缓存的实现. 新建PrismSample.Infrastru ...
- Nancy之基于Nancy.Hosting.Aspnet的小Demo
近来学习了一下Nancy这个框架,感觉挺好用的,就写篇简单的文章记录一下大致用法,由于是刚接触,写的代码 可能不规范,也没有具体的分层..莫吐槽... Nancy的官网:http://nancyfx. ...
- Nancy基于JwtBearer认证的使用与实现
前言 最近在看JSON Web Token(Jwt)相关的东西,但是发现在Nancy中直接使用Jwt的组件比较缺乏,所以就在空闲时间写了一个. 这个组件是开源的,不过目前只支持.NET Core,后续 ...
- 基于 Consul 实现 MagicOnion(GRpc) 服务注册与发现
0.简介 0.1 什么是 Consul Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置. 这里所谓的服务,不仅仅包括常用的 Api 这些服务,也包括软件开发过程 ...
- 浅谈基于Prism的软件系统的架构设计
很早就想写这么一篇文章来对近几年使用Prism框架来设计软件来做一次深入的分析了,但直到最近才开始整理,说到软件系统的设计这里面有太多的学问,只有经过大量的探索才能够设计出好的软件产品,就本人的理解, ...
- C# 一个基于.NET Core3.1的开源项目帮你彻底搞懂WPF框架Prism
--概述 这个项目演示了如何在WPF中使用各种Prism功能的示例.如果您刚刚开始使用Prism,建议您从第一个示例开始,按顺序从列表中开始.每个示例都基于前一个示例的概念. 此项目平台框架:.NET ...
- 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...
- 自定义基于 VLC 的视频播放器
前言(蛋疼的背景故事) 前段时间,接了一个小项目,有个需求是要在系统待机一段时间以后,循环播放 MV(类似于 Windows 系统的屏幕保护). 听到这个需求,我首先想到的是 MediaPlayer ...
随机推荐
- DDOS 单例
DDOS.H #pragma once //g++ ../../../Main.cpp ../../../DDOS.cpp -lpthread #include <stdio.h> #in ...
- day15 python-03 列表,元组,字典
Python之路,Day3 = Python基础3 注: extend: 拼接 enumerate:打印序号,返回两个值 模块的简单使用 sys模块 #!/usr/bin/env python #这句 ...
- js 中继承方式小谈
题外话 前段时间面试中笔试题有这道题目: 请实现一个继承链,要求如下: 构造函数A():构造函数中有consoleA方法,可以实现console.log("a") 实例对象 a:a ...
- Http学习(一)
HTTP 超文本传输协议 综述: HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从 ...
- 云-腾讯云-云直播:云直播(LVB)
ylbtech-云-腾讯云-云直播:云直播(LVB) 云直播(Live Video Broadcasting,LVB)依托腾讯多年的音视频技术平台,以及全球海量加速节点和领先的音视频 AI 技术,为开 ...
- Redis 的 4 大法宝,2018 必学中间件!
Redis是什么? 全称:REmote DIctionary Server Redis是一种key-value形式的NoSQL内存数据库,由ANSI C编写,遵守BSD协议.支持网络.可基于内存亦可持 ...
- 09_springmvc图片上传
一.上传图片 1.需求 在修改商品页面,添加上传商品图片的功能 2.springmvc中对多部件类型解析 在页面form中提交enctype="multipart/form-data&quo ...
- java-day06
面向过程 每一个具体的步骤都亲力亲为,详细处理每一个细节 面向对象 不关心具体步骤,而是找一个已经具有该功能的人来帮我做事 特点 封装性 继承性 多态性 类 是一组相关属性和行为的集合 成员变量(属性 ...
- scull 的内存使用
scull 使用的内存区, 也称为一个设备, 长度可变. 你写的越多, 它增长越多; 通过使用 一个短文件覆盖设备来进行修整. scull 驱动引入 2 个核心函数来管理 Linux 内核中的内存. ...
- CentOS安装tomcat并且部署Java Web项目具有一定的参考价值
本篇文章主要介绍了CentOS安装tomcat并且部署Java Web项目,具有一定的参考价值,有需要的可以了解一下.(http://m.8682222.com) 1.准备工作 b.因为tomcat的 ...