2016-08-24 4 views
0

여러 페이지 (예 : MasterDetailPageNavigationPage)를 결합하려는 Xamarin 응용 프로그램을 만들고 있습니다. 내 MainPageXamarin 내 MasterDetailPage 및 NavigationPage 조합

MasterDetailPage 포함 된 상기 MasterDetailPage의 마스터는 사용자가 볼 수있다 (예를 들면, 클래스 타입, 영상 표시하고 이름과 같은 정보를 저장하는 사용자 클래스) 뷰의리스트를 포함한다. 조회수는 모두 ContentPage입니다. 목록의 항목을 클릭하면 ContentPage이 리플렉션을 사용하여 초기화 된 다음 MasterDetailPage에 저장됩니다. 현재 Xamarin이 제안한대로 모든 것이 만들어졌습니다.

그러나 중 하나는 ListView입니다.

Example of the ListView

항목이 선택되어

ListView는 detailview을 열 수 있고 사용자가 ListView로 돌아갈 수 있어야합니다. 그 때문에 나는 Navigation 클래스를 사용하고 있는데 다음과 같이 NavigationPage 내에서 페이지를 밀어 (더 나은 수행 할 수 있습니다 바인딩 만했지만, 자 마린과 느낌을 얻을 수의) :

private async Task Handle_ItemSelected(object sender, Xamarin.Forms.SelectedItemChangedEventArgs e) 
{ 
     if (_detail == null) 
     { 
      _detail = new Detail(); 

     } 
     _detail.BindingContext = SelectedTrack; 
     await Navigation.PushAsync(new NavigationPage(_detail)); 
} 

같이 할 때, 뒤로 버튼이 MasterDetailPage 위에 렌더링됩니다.

Example of the NavigationPage

ListView의 세부 정보 페이지로 갈 때 나는 MasterDetailPage의 '햄버거'버튼을 제거 할 수있는 방법이 있습니까? 아니면 현재 잘못된 워크 플로를 사용하고 있습니까?

답변

0

세부 정보 페이지를 NavigationPage로 설정하십시오.

await Navigation.PushAsync(new NavigationPage(_detail)); 

당신은 버튼이 아니라 햄버거를 다시 볼 수 있습니다 :

MainPage = new MasterDetailPage 
      { 
       Master = new MyMasterPage(), 
       Detail = new NavigationPage(MyHomePage()) 
      }); 

그리고 당신이하여 다른 페이지로 이동할 수 있습니다 상세보기에서의

_masterDetailPage.Detail = new NavigationPage(page); 

또는

.

sample을 살펴보십시오.

+0

MasterDetailPage의 Detail 속성에있는 페이지가 이미 탐색 페이지 내에 있습니다. – Echarnus

+0

샘플 프로젝트를 추가했습니다. 제발. –

+0

늦게 답변을 드려 죄송합니다. 시간이별로 없었습니다. 나는 당신의 예를 살펴 보았고 페이지를 Navigationpage에 세부적으로 넣었다. – Echarnus