Prism应用开发(二)——Prism应用程序初始化
来源:互联网 发布:淘宝怎么申请 编辑:程序博客网 时间:2024/06/11 00:50
Bootstrapper主要用来初始化Prism应用程序,其处理流程如图:
在Prism应用中,Bootstrapper的开发过程如下:
override基类的Bootstrapper
Unity基类提供了UnityBootstrapper和MefBootstrapper,可以根据实际的应用选用不同的Bootstrapper。
class DirectorBootstrapper : UnityBootstrapper { protected override System.Windows.DependencyObject CreateShell() { return Container.Resolve<Shell>(); } protected override void InitializeShell() { Application.Current.MainWindow = (Window)Shell; Application.Current.MainWindow.Show(); } }在App类中调用Bootstrapper的Run函数
public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); DirectorBootstrapper bootstrapper = new DirectorBootstrapper(); bootstrapper.Run(); } }配置ModuleCatalog
下面的代码使用plug in模式,将Module配置在Shell中。
protected override IModuleCatalog CreateModuleCatalog() { ModuleCatalog catalog = new ConfigurationModuleCatalog(); return catalog; }
<configSections> <section name="modules" type="Microsoft.Practices.Prism.Modularity.ModulesConfigurationSection, Microsoft.Practices.Prism"/> </configSections> <modules> <module assemblyFile="Modules.DeviceManager.dll" moduleType="Modules.DeviceManager.DeviceManagerModule, Modules.DeviceManager" moduleName="DeviceManagerModule"/> </modules>实现模块接口
public class DeviceManagerModule : IModule { private IUnityContainer unityContainer; private IRegionManager regionManager; public DeviceManagerModule(IUnityContainer container, IRegionManager regionManager) { this.unityContainer = container; this.regionManager = regionManager; } #region IModule Members /// <summary> /// IModule interface method called on module loading. /// </summary> public void Initialize() { this.regionManager.RegisterViewWithRegion(RegionNames.MainRegion, () => this.unityContainer.Resolve<DeviceView>("DeviceView")); } #endregion }
- Prism应用开发(二)——Prism应用程序初始化
- Prism应用开发(二)——Prism应用程序初始化
- Prism框架(二)——Prism应用程序初始化
- Prism框架(二)——Prism应用程序初始化
- Prism框架(二)——Prism应用程序初始化
- Prism应用开发(三)——基于模块的应用程序开发
- Prism应用开发(三)——基于模块的应用程序开发
- Prism应用开发(一)—— 概述
- Prism应用开发(四)——MVVM模式基础
- Prism应用开发(五)——MVVM模式关键技术
- Prism应用开发(六)——MVVM高级话题
- Prism应用开发(七)——导航
- Prism应用开发(一)—— 概述
- Prism应用开发(四)——MVVM模式基础
- Prism应用开发(五)——MVVM模式关键技术
- Prism应用开发(六)——MVVM高级话题
- Prism应用开发(七)——导航
- Prism框架(三)——基于模块的应用程序开发
- 开源数据库SQLite学习手册之入门篇
- Linux 存储管理相关资料
- tcpdump 使用方法
- ORACLE的性能调优—水平位
- Parallel.ForEach() 并行循环
- Prism应用开发(二)——Prism应用程序初始化
- js实现table内 某列的内容进行即时筛选
- android log系统
- 谈谈开源厂商和苹果的竞争
- Android各种访问权限Permission详解
- 本技术blog停止更新。
- Java与编码问题串讲之三--乱码
- fgets()
- List的转换