MefBootstrapper在Prism引导程序中的使用 前言MefBootstrapper 是 Prism 框架中专门为 MEFManaged Extensibility Framework 设计的启动器基类它的核心作用是协调应用程序的初始化过程并集成 MEF 作为依赖注入容器。1、创建Bootstrapper引导程序类CreateShell方法用于从容器中获取主窗口InitializeShell中用于设置主窗体以及显示主窗体注意这里要引用Prism.Mef.Wpf.dll。classBootStrapper:MefBootstrapper{privatereadonlystringApplicationPathEnvironment.CurrentDirectory\\lib\\;protectedoverrideDependencyObjectCreateShell(){returnthis.Container.GetExportedValueMyShell();}protectedoverridevoidInitializeShell(){base.InitializeShell();Application.Current.MainWindow(Window)Shell;Application.Current.MainWindow.Show();}protectedoverridevoidConfigureAggregateCatalog(){base.ConfigureAggregateCatalog();this.AggregateCatalog.Catalogs.Add(newAssemblyCatalog(typeof(BootStrapper).Assembly));DirectoryCatalogcatalognewDirectoryCatalog(ApplicationPath);this.AggregateCatalog.Catalogs.Add(catalog);}protectedoverridevoidConfigureModuleCatalog(){base.ConfigureModuleCatalog();}}启动流程 Application.Startup()↓ BootStrapper 实例化 ↓CreateLogger()-创建日志 ↓ ConfigureModuleCatalog-配置模块目录 ↓ ConfigureAggregateCatalog-配置组件目录 ↓CreateShell()-创建主窗口 ↓InitializeShell()-初始化主窗口 ↓InitializeModules()-初始化所有模块 ↓ 应用程序就绪2、使用引导程序1删除 StartupUri2重写OnStartup方法在App.xaml.cs类中重写OnStartup方法实例化BootStrapper类并调用Run方法publicpartialclassApp:Application{protectedoverridevoidOnStartup(StartupEventArgse){base.OnStartup(e);BootStrapperbootStrappernewBootStrapper();bootStrapper.Run();}}3、导出主窗体MyShell类马工撰写的年入30万C#上位机项目实战必备教程点击下方链接即可访问文章目录1、《C#串口通信从入门到精通》2、《C#与PLC通信从入门到精通 》3、《C# Modbus通信从入门到精通》4、《C#Socket通信从入门到精通 》5、《C# MES通信从入门到精通》6、《winform控件从入门到精通》7、《C#操作MySql数据库从入门到精通》