Можно ли зарегистрировать адаптер региона в модуле?
У меня ContentControl в моем Shell.xaml установлен в область "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;
}
Это то, что я хотел бы выполнить в модуле вместо загрузчика оболочки.