是否可以在模块中注册区域适配器?
我的 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;
}
这就是我想在模块而不是 Shell 引导程序中执行的操作。