概述
这节主要通过发射+Caliburn.Micro自带的ioc容器实现加载并显示其它项目中的界面.实现效果如下:

具体实现
-. ①首先在引导程序页面通过发射加载类库,并将视图注入ioc容器,这里为了实现解耦合注入了ICommonBasePage接口类型:
private void ExternalLoad()
{
//container = new SimpleContainer();
//container.Instance(container);
var asmPath = Assembly.GetAssembly(typeof(HelloBootstrapper)).Location;
var path = Directory.GetParent(asmPath).FullName;
string filePath = Path.Combine(path, "PluginTest.dll");
//var assembly = Assembly.GetAssembly(typeof(PageBase));
//container.AllTypesOf<ShellViewModel>(assembly);
var assembly = Assembly.LoadFile(filePath);
assembly.GetTypes()
C# WPF利用反射和IoC加载外部界面实践

本文介绍了如何使用C# WPF结合反射和Caliburn.Micro的IoC容器来加载并显示其他项目的界面。首先在引导程序通过反射加载类库并将视图注入到IoC容器,接着展示了接口定义、目标项目ViewModel和View的代码,最后在调用处通过IoC容器获取视图并呈现。
最低0.47元/天 解锁文章
851

被折叠的 条评论
为什么被折叠?



