我正在尝试向我的区域注册多个区域,例如在 Unity 中:
public class ModuleA : IModule
{
private IUnityContainer _container;
private IRegionManager _regionManager;
public ModuleA(IUnityContainer container, IRegionManager regionManager)
{
_container = container;
_regionManager = regionManager;
}
public void Initialize()
{
IRegion region = _regionManager.Regions[RegionNames.ToolbarRegion];
region.Add(_container.Resolve<ToolbarView>());
region.Add(_container.Resolve<ToolbarView>());
region.Add(_container.Resolve<ToolbarView>());
region.Add(_container.Resolve<ToolbarView>());
region.Add(_container.Resolve<ToolbarView>());
}
}
}
但我不能用 MEF 成功
[ModuleExport(typeof(ModuleAModule))]
public class ModuleAModule : IModule
{
[Import]
private IRegionManager _regionManager;
public void Initialize()
{
_regionManager.RegisterViewWithRegion(RegionNames.ContentRegion, typeof(ContentView));
IRegion region = _regionManager.Regions[RegionNames.ToolbarRegion];
}
}
我可以得到该区域,但我不知道如何将解析转换为 MEF。