c# – Prism IRegionNavigationJournal.GoBack无效
正如标题所说,我对IRegionNavigationJournal的GoBack方法有疑问.首先我的场景:
2个棱镜模块 我只通过RegionManager.RequestNavigate(“region”,“ModuleName”)导航.另外,我使用ModuleName在unitycontainer中注册View和视图的ViewModel 其中一个模块是仪表板模块,其中第二个模块(以及每个其他模块)注册一个navigateto命令.该命令请求导航到模块2. 一切正常,仪表板请求导航到内容区域,显示并呈现模块2的导航到命令. 单击第二个模块的navigateto命令后,第二个模块将显示在内容区域中. 此外,每个模块都会向shell中注入一个GoBack命令,以便在OnNavigateTo方法中执行IRegionNavigationJournal.GoBack以及模块特定的内容. 每个ViewModel都实现了INavigationAware(确切地说,这是在基本视图模型中实现的).在OnNavigated里面我保存了NavigatioService.在提升模块2的GoBack命令后,执行的最后一个操作是调用模块2的OnNavigateFrom.仪表板的OnNavigateTo永远不会被调用.模块2的视图保留在contentregion中,就是这样. 如果我调试应用程序,IRegionNavigationJournal的backstack用Uri“DashBoard”表示1个条目. 一些代码片段: 寄存器类型: container.RegisterType<object,DashboardViewModel>(new ContainerControlledLifetimeManager()); container.RegisterType<object,DashboardView>(ModuleResources.ModuleName,new ContainerControlledLifetimeManager()); 请求导航: regionManager.RequestNavigate(ShellRegionNames.ContentRegion,ModuleResources.ModuleName); 回去: navigationService.Journal.GoBack(); 希望有人可以提供帮助. 提前致谢 解决方法
看起来像RegisterType< T>中的字符串.方法必须与视图的类名相同. RequestNavigate(RegionName,ViewName)使用不同的字符串,GoBack()不会.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |