C# Prism IRegionNavigationJournal.GoBack不工作

C# Prism IRegionNavigationJournal.GoBack不工作,c#,.net,wpf,navigation,prism,C#,.net,Wpf,Navigation,Prism,正如标题所说,我对IRegionNavigationJournal的GoBack方法有一个问题。首先,我的设想是: 2个棱镜模块 1个带内容区的棱柱壳 我只能通过RegionManager.RequestNavigate(“region”、“ModuleName”)导航。此外,我还使用ModuleName在unitycontainer中注册视图和视图的ViewModel 其中一个模块是仪表板模块,第二个模块(以及每个其他模块)在其中注册navigateto命令。此命令请求导航到模块2 一切正常,

正如标题所说,我对
IRegionNavigationJournal
的GoBack方法有一个问题。首先,我的设想是:

2个棱镜模块 1个带内容区的棱柱壳

我只能通过
RegionManager.RequestNavigate(“region”、“ModuleName”)
导航。此外,我还使用ModuleName在unitycontainer中注册视图和视图的ViewModel

其中一个模块是仪表板模块,第二个模块(以及每个其他模块)在其中注册navigateto命令。此命令请求导航到模块2

一切正常,仪表板请求导航到内容区域,显示并呈现模块2的navigateto命令

单击第二个模块的navigateto命令后,第二个模块将显示在内容区域中

此外,每个模块向shell中注入一个GoBack命令,以执行
IRegionNavigationJournal.GoBack
以及
OnNavigateTo
方法中特定于模块的内容

每个ViewModel都实现了INavigationAware的
INavigationAware
(确切地说,这是在基本ViewModel中实现的)。在OnNavigated内保存NavigationService。提升模块2的GoBack命令后,执行的最后一个操作是调用模块2的OnNavigateFrom。仪表板的OnNavigateTo从未被调用。模块2的视图保留在contentregion中,仅此而已

如果我调试应用程序,
IRegionNavigationJournal
的backbackback显示1个Uri为“DashBoard”的条目

一些代码片段:

寄存器类型:

container.RegisterType<object, DashboardViewModel>(new  ContainerControlledLifetimeManager());
container.RegisterType<object, DashboardView>(ModuleResources.ModuleName,
            new ContainerControlledLifetimeManager());
返回:

 navigationService.Journal.GoBack();
希望任何人都能帮忙


提前感谢

似乎
RegisterType
方法中的字符串必须与视图的类名相同。一个
RequestNavigate(RegionName,ViewName)
可以处理不同的字符串,而
GoBack()
不能

 navigationService.Journal.GoBack();