正确使用Xamarin形式的棱镜导航服务



我想确认是否正确使用Xamarin表单的Prism导航服务。我有一个主详细信息页面,一个样式的导航页面和一堆内容页面。

现在,我正在以下面的方式使用该服务:

            var prj = await dataService.GetLwdProject(appState.SelectedProjectId);
            var nparam = new NavigationParameters();
            nparam.Add("Project", prj);
            await NavigateTo("RootPage/StyledNavigationPage/SessionsListPage", nparam);

主详细信息页面是rootpage对象。因此,当用户从此列表页面中选择项目时,正确的方式应为:

                var nparma = new NavigationParameters();
                nparma.Add("Session", option);
                await App.NavigateTo("RootPage/StyledNavigationPage/SessionsListPage?ProjectId=" + option.ProjectId + "/LocationListPage", nparma);

我期望仅将locationListPage添加到导航堆栈中,但是当我使用Android上的硬件返回按钮时,看起来不仅添加了最后一页,还添加了整个路径(所有页面)。因此,这是正确的方式自动构造所需路径吗?

no。导航始终与您打电话给它的位置有关。您现在拥有的内容将导航到您每次创建的整个深链接。只需导航到您的目标导航页/sessionlistPage并传递您的参数即可。但是,在这种情况下,您不会每次都会获得新页面,因为您正在浏览相同的视图,而只是通过不同的状态。

相关内容

  • 没有找到相关文章

最新更新