2017-03-03 5 views
1

필자는 프리즘 6.3 프리 2를 사용하여 마스터 세부 정보 페이지 설정을했습니다. "세부 정보"페이지로 이동할 때 예상대로 작동했습니다. 햄버거 버튼은 슬라이드 드로어를 보여 주며 간단한 ListView를 ViewModel에 바인딩하고 항목을 나열하며 NavigateCommand를 사용하여 올바르게 탐색합니다.프리즘 탐색 Xamarin 폼 - MasterDetailPage

이제 안드로이드에서 예상되는 동작은 슬라이드 아웃 메뉴의 다른 항목으로 이동했을 때 하드웨어 백 버튼을 사용하여 맨 처음 "세부 사항"으로 돌아갈 수 있어야합니다. 페이지가 표시됩니다.

예를 들어, 앱에이 설정이 있고 나열된 항목이받은 편지함, 임시 보관함 및 보낸 편지함이라고 가정합니다. 기본보기는 기본 세부보기 인 것으로 결정됩니다.이 예에서는 Inbox가 가장 가능성이 높습니다. 따라서 보낸 편지함으로 이동 한 다음 뒤로를 누르면받은 편지함으로 돌아가서 보낸 편지함으로 이동 한 다음 뒤로를 누르면받은 편지함으로 돌아갑니다. 기본 시작 지점이므로이 편지함으로 이동해야합니다. 다시 다시 누르면 응용 프로그램이 종료됩니다. 현재 프리즘 내비게이션을 사용하여이 설정을 사용하여 어떤 페이지로 이동했는지에 관계없이 곧바로 종료됩니다. 내가 보낸 다른 페이지가 같은 말을 이동하면

await NavigationService.NavigateAsync("RootPage/BaseNavigationPage/InboxPage");

가 상대 URI가 같다 :

주의는, 나는 기본적으로 (AN exmaple 등) 같은 것을 가지고 올바르게 설정 한 그래서 : 다시 누를 때

이제

"BaseNavigationPage/SentPage"

, 그것은 ... 나는 ... 브레인이 고정 될 수 있는지 확실하지 해요 InboxPage으로 돌아 가야한다 ???

이 외에도 예기치 않은 동작이 하나 더 빠져 있습니다. 마스터 세부 정보 페이지를 사용하면서 모달 페이지를 표시하고 싶다면 Google에서 작성한 앱처럼 작동하지 않습니다 ...이 레이아웃이있는 Google 앱을 열면 쉽게 볼 수 있습니다. 당신이 말하는 설정에 대한 모달 창을 표시하는 경우, 그것은 팝업 설정 탐색 제목이 당신이 한 단계 더 아래로 같은 탐색 한 것처럼 뒤로 화살표는 기본적으로 동일 같습니다 그러나

"RootPage/BaseNavigationPage/InboxPage/EmailPage" 

, 나는 다음과 같은 한 경우이 기능을 사용할 것으로 예상 :

"BaseNavigationPage/SettingsPage", useModalNavigation:true 

당신은 단순히 당신이 이러한 기능을 볼 수 있습니다 응용 프로그램을 만든 모든 Google 함께 놀러 경우,이 내가 기대하고 자연 어떤 느낌입니다.

이 문제를 해결하는 데 도움이되는 도움말은 무엇입니까? 다시 ... 브라이언 ...?

이 모든 간단해야하지만 수 없습니다 증명하는 것 ...

답변

1

당신이 MasterDetailPage 시나리오에 NavigationPage과 함께하고자하는 동작을 얻으려면, 당신은 INavigationPageOptions 및 세트를 구현하는 사용자 정의 NavigationPage을 만들어야합니다 ClearNavigationStackOnNavigation 속성을 false로 설정합니다. 이것은 네비게이션 작업을 수행 할 때 네비게이션 페이지의 네비게이션 스택을 제압합니다.

모달 탐색에 관한 다른 "예상 된 동작"에 대해서는 모달 탐색에 대한 이해가 잘못되었습니다. 모달 탐색은 소프트웨어 백 버튼을 제공하지 않습니다. 소프트웨어 백 버튼을 원할 때마다 Navigation 페이지에 포장 된 페이지가 있어야합니다 (

).
관련 문제