我使用prism 4.0,wpf,
我为devx DocumentGroup创建了RegionAdapter。
我有一个视图显示为DocumentPanel(DocumentGroup的子)的内容。 我在容器中注册视图。一切都很好。我可以请求查看DocumentGroup的区域。
container.RegisterType<Object, NatLossesView>("NatLossesView",new TransientLifetimeManager());
问题: 我只能在DocumentGroup项目中创建一个视图。 例如,我的程序已加载,面板上没有文档。 我做了
var NatLossesViewU = new Uri("NatLossesView", UriKind.Relative);
regionManager.RequestNavigate("DocumentGroupRegion", NatLossesViewU);
显示视图。我想再创建一个视图实例,但调用以前的代码什么都不做。关闭视图后,我可以调用我的代码并再次显示视图
解决
我自己解决了我的问题。 ViewModel必须实现INavigationAware接口。 方法IsNavigationTarget应该是这样的:
public bool IsNavigationTarget(NavigationContext navigationContext)
{
//throw new NotImplementedException();
return false;
}
答案 0 :(得分:1)
假设在您的区域适配器中,您确保添加的视图已正确添加到停靠窗口组项目列表中 - 请尝试以下代码,
var NatLossesViewobj = _container.Resolve<NatLossesView>()
regionManager.AddToRegion("DocumentGroupRegion", NatLossesViewobj);