我正在尝试创建一个类似于 Visual Studio 的应用程序,因为我们有一个主要内容区域(即文档显示在 TabControl 中,而不是真正的 MDI 界面中),侧面有一个菜单。
到目前为止,除了内容之外,我已经完成了所有工作。我的目标是,当用户双击侧面导航菜单中的项目时,它会在内容区域中打开文档。这行得通,但每次我双击它都会产生同一个视图的一个新实例。我有可能在 TabControl 内容容器中拥有多个相同类型(但不同的“名称”)的视图。
现在,我的代码看起来像这样......
IRegion contentRegion = IRegionManager.Regions[RegionNames.ContentRegion];
object view = IUnityContainer.Resolve(viewModel.ViewType, viewModel.UniqueName);
if (!IUnityContainer.IsRegistered(viewModel.ViewType, viewModel.UniqueName))
{
IUnityContainer.RegisterInstance(viewModel.UniqueName, view);
contentRegion.Add(view);
}
contentRegion.Activate(view);
但是,即使我注册了该视图,它似乎也从未注册过……我想我可能做错了——还有其他方法吗?(回复:正确的方式)