2016-12-18 2 views
0

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의 하드웨어 백 버튼은 마지막 페이지가 추가되었을뿐만 아니라 전체 경로 (모든 페이지)가 추가 된 것처럼 보입니다. 원하는 경로를 자동으로 구성하는 올바른 방법입니까?

답변

0

아니요. 번호는 항상 상대방과 관련됩니다. 지금 당신이 가진 것은 당신이 매번 생성 한 전체 딥 링크로 이동합니다. 타겟 NavigationPage/SessionListPage로 이동하여 매개 변수를 전달하십시오. 이 경우에는 매번 새로운 페이지를 가져 오지 않을 것입니다. 동일한보기로 이동하면서 다른 상태로 전달하기 때문입니다.

+0

전체 패치를 만드는 이유는 그것이 예상 된 방식으로 페이지를 만드는 유일한 방법이라는 것입니다. RootPage/StyledNavigationPage/SessionsListPage 기본적으로 SessionsListPage를 가리키는 탐색 페이지가있는 마스터 세부 정보 페이지입니다. LocationListPage로 탐색을 작성하면 단순한 콘텐츠 페이지 만 표시되므로 naviagion bar 나 master 세부 정보에 액세스 할 수 없습니다 페이지. 하드웨어 백 버튼을 사용하는 유일한 방법입니다. StyledNavigationPage/LocationListPage와 같이 표현하면 뒤로 탐색 버튼이 표시되지만 뒤로 버튼은 표시되지 않습니다. – Snowppy

+0

제대로 수행하지 않았습니다. 원하는 동작을 얻으려면 NavigationPage가 INavigationPageOptions을 구현하고 ClearNavigationStackOnNavigation 속성을 false로 설정해야합니다. 이제 MasterDetail에서 네비게이션을 할 때, 네비게이션 페이지에 Detial 접두어를 붙이면 스택을 리셋하지 않고 스택에 각 페이지를 밀어 넣을 수 있습니다. –