是否可以在模块中注册区域适配器?WPF,棱镜,MEF。在模块中注册区域适配器?
我的Shell.xaml中有一个ContentControl设置为区域“MainRegion”,该区域当前使用包含AvalonDock控件的模块进行填充。我目前在我的Shell应用程序中有AvalonDock区域适配器,但希望将其放在模块中并注册。我想保持这个程序的灵活性,这样如果我们决定使用AvalonDock以外的东西,我可以很容易地使用另一个模块,而无需修改我的Shell程序集(删除avalondock区域适配器)。
我想像这样的事情是可能的。有没有人做过这个?
在引导程序现在的问题是:
protected override RegionAdapterMappings ConfigureRegionAdapterMappings()
{
RegionAdapterMappings mappings = base.ConfigureRegionAdapterMappings();
var regionBehaviorFactory = Container.GetExportedValue<IRegionBehaviorFactory>();
var regionManager = Container.GetExportedValue<IRegionManager>();
mappings.RegisterMapping(typeof(Pane), new AvalonRegionAdapter(regionBehaviorFactory, regionManager));
return mappings;
}
这是我想什么的模块,而不是壳牌引导程序来执行。