xamarin 양식의 프리즘 탐색 서비스를 올바르게 사용하고 있는지 확인하고 싶습니다. 마스터 세부 정보 페이지, 스타일이 지정된 탐색 페이지 및 많은 콘텐츠 페이지가 있습니다. 지금 나는 다음과 같은 방법으로 서비스를 사용하고xamarin 양식의 프리즘 탐색 서비스의 올바른 사용
:
마스터 세부 정보 페이지가 RootPage 개체입니다 var prj = await dataService.GetLwdProject(appState.SelectedProjectId);
var nparam = new NavigationParameters();
nparam.Add("Project", prj);
await NavigateTo("RootPage/StyledNavigationPage/SessionsListPage", nparam);
. 따라서 사용자가이 목록 페이지에서 항목을 선택하면 서비스에 대한 올바른 방법이 될 것을 기대 : 나는이 (가)를 사용할 때 난 그냥 LocationListPage 탐색 스택에 추가 할 것이라고 기대하지만, 무엇
var nparma = new NavigationParameters();
nparma.Add("Session", option);
await App.NavigateTo("RootPage/StyledNavigationPage/SessionsListPage?ProjectId=" + option.ProjectId + "/LocationListPage", nparma);
Android의 하드웨어 백 버튼은 마지막 페이지가 추가되었을뿐만 아니라 전체 경로 (모든 페이지)가 추가 된 것처럼 보입니다. 원하는 경로를 자동으로 구성하는 올바른 방법입니까?
전체 패치를 만드는 이유는 그것이 예상 된 방식으로 페이지를 만드는 유일한 방법이라는 것입니다. RootPage/StyledNavigationPage/SessionsListPage 기본적으로 SessionsListPage를 가리키는 탐색 페이지가있는 마스터 세부 정보 페이지입니다. LocationListPage로 탐색을 작성하면 단순한 콘텐츠 페이지 만 표시되므로 naviagion bar 나 master 세부 정보에 액세스 할 수 없습니다 페이지. 하드웨어 백 버튼을 사용하는 유일한 방법입니다. StyledNavigationPage/LocationListPage와 같이 표현하면 뒤로 탐색 버튼이 표시되지만 뒤로 버튼은 표시되지 않습니다. – Snowppy
제대로 수행하지 않았습니다. 원하는 동작을 얻으려면 NavigationPage가 INavigationPageOptions을 구현하고 ClearNavigationStackOnNavigation 속성을 false로 설정해야합니다. 이제 MasterDetail에서 네비게이션을 할 때, 네비게이션 페이지에 Detial 접두어를 붙이면 스택을 리셋하지 않고 스택에 각 페이지를 밀어 넣을 수 있습니다. –