2017-05-18 1 views
0

제 Xamarin Forms 앱의 햄버거 메뉴를 만들 때 MasterPageDetail 접근 방식을 사용했습니다. 메뉴 자체는 Xamarin 설명서 https://developer.xamarin.com/samples/xamarin-forms/Navigation/MasterDetailPage/에서 가져온 것과 같이 잘 작동합니다. 제가 생각한 것 중 하나는 내보기 중 하나에서 페이지에 대한 간단한 링크를 만들면 햄버거 메뉴와 아이콘이 뒤로 버튼으로 대체된다는 것입니다.콘텐츠 페이지에서 링크 할 때 어떻게 햄버거 메뉴를 보존합니까?

내가 알고 싶은 것은 뒤로 버튼을 표시하는 대신 내 햄버거 메뉴를 유지할 링크를 콘텐츠 페이지에 만드는 방법입니다. MasterPage에서 클릭하는 링크는 부식성보기로 이동하지만 햄버거 메뉴가 계속 표시 될 수 있습니다. 페이지 중 하나에서 링크를 클릭하면 페이지로 이동하지만 뒤로 버튼이 표시됩니다. 내 사용자에게 매우 혼란스러운 탐색 경험을 불러 일으 킵니다.

다음 코드는 햄버거 메뉴에서 마누가 생성 된 방법을 보여줍니다.

public partial class MasterPage : ContentPage 
    { 
     public ListView ListView { get { return listView; } } 
     public MasterPage() 
     { 
      InitializeComponent(); 

      //var master = new MasterPage(); 
      var masterPageItems = new List<MasterPageItem>(); 

      masterPageItems.Add(new MasterPageItem 
      { 
       Title = "Dashboard", 
       IconSource = "dashboard-icon-24.png", 
       TargetType = typeof(Dashboard) 
      });    
      listView.ItemsSource = masterPageItems; 
} 

그래서 완벽하게 작동하는, 당신은 주위를 탐색 할 수 있습니다와 햄버거 메뉴가 모든 시간입니다.

<Button Text="Information" Clicked="informationClick" /> 

는 다음과 이에 대한 코드입니다으로 '대시 보드'라는 내보기 내에서

은 내가 그래서 그는이 방법으로 다음과 같은 값 int 않았다, 내 햄버거 메뉴에있는 그 같은 페이지에 희망 몇 가지 링크를 추가 :

private void informationClick(object sender, EventArgs e) 
    { 
     Navigation.PushAsync(new Information()); 
    } 

당신이 hambuger 메뉴를 잃고 그 대신 다시 버튼을 repalced 있어요 그러나 당신은이 링크를 클릭합니다. 햄버거 메뉴를 보존하고 싶습니다. 아무도 내 콘텐츠 페이지에서 어떻게 할 수 있는지 알고 있습니까?

+0

네비게이션 스택에 새 화면을 밀어 넣기 때문에 사용자는 뒤로 이동할 수있는 방법이 필요합니다. 그 패턴을 벗어나면 앱의 유용성에 대해 궁금해 할 것 같지 않습니다. 정보 화면을 모달 방식으로 푸시 할 수는 있지만 여전히 햄버거 메뉴가 없습니다. –

답변

2

MasterDetail 페이지의 "Detail"속성을 연결할 페이지가 포함 된 새로운 NavigationPage로 바꾸어야합니다. 그런

뭔가 :

(App.Current.MainPage as MasterDetailPage).Detail = new NavigationPage(new ContactsPage()); 

이 정말 깨끗하지 않지만는 생각을합니다.

관련 문제