Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 请导航到新视图_C#_Wpf_Prism - Fatal编程技术网

C# 请导航到新视图

C# 请导航到新视图,c#,wpf,prism,C#,Wpf,Prism,我将WPF Prism 6与autofac一起使用,在视图之间导航时遇到问题。我所拥有的是一个视图,我只想在离开它之前一直保持它,下次我导航到它时,我想创建这个视图的新版本 加载时,我注册了一个包含以下代码的IModule _regionManager.RegisterViewWithRegion(RegionNames.MainRegion, typeof(DxfDisplay.Views.DxfDisplay));

我将
WPF Prism 6
autofac
一起使用,在视图之间导航时遇到问题。我所拥有的是一个视图,我只想在离开它之前一直保持它,下次我导航到它时,我想创建这个视图的新版本

加载时,我注册了一个包含以下代码的
IModule

_regionManager.RegisterViewWithRegion(RegionNames.MainRegion, 
                                      typeof(DxfDisplay.Views.DxfDisplay));
这注册了我的视图,系统在初始加载时工作,我在视图模型上实现了
INavigationAware
IRegionMemberLifetime
接口,并且具有
public bool KeepAlive=>false实现
IRegionMemberLifetime
,以便在完成时释放视图

当我离开该视图时,一切正常,但当我尝试使用

_regionManager.RequestNavigate(RegionNames.MainRegion, 
                               new Uri("DxfDisplay", UriKind.Relative), parameters);
未打开视图,也未调用视图模型构造函数。为了使导航正常工作,我需要再次向区域注册view。或者,如果我将KeepAlive更改为
true
,我可以导航回原始视图,但如果
INavigationAware.IsNavigationTarget
返回false,则无法生成新视图


我的问题是如何向区域管理器注册视图,以便在调用
\u regionManager.RequestNavigate
时,它将创建视图的新实例并显示它。我觉得我错过了一些简单的东西,只是忽略了它。

\u builder.RegisterTypeForNavigation()

谢谢,从未在扩展方法名称空间中查找过。我知道这必须很容易。