您应该使用 unityContainer 创建事物,然后调用 Add 和 Activate。
public TaskList(IEventAggregator eventAggregator,
IRegionManager regionManager,
IUnityContainer container)
{
_EventAggregator = eventAggregator;
_RegionManager = regionManager;
_Container = container;
}
IItemListVM vm = _Container.Resolve<IItemListVM>();
IItemListView view = new IItemListView(vm);
_RegionManager.Regions["ItemsSummaryRegion"].Add(view);
_RegionManager.Regions["ItemsSummaryRegion"].Activate(view);
这允许您IRegion.Remove
稍后在要清除该区域时调用。如果你只想用视图注册一个区域,你也可以这样做,只需将我的逻辑的最后几行替换为对 RegisterViewWithRegion 的另一个调用:
_RegionManager.RegisterViewWithRegion("ItemsSummaryRegion",
(x) =>
{
_Container.Resolve<IItemListView>();
});