2017-05-18 11 views
0

私はXamarin Formsアプリケーション用のハンバーガーメニューを作成する際にMasterPageDetailというアプローチを使用してきました。 Xamarinのドキュメントhttps://developer.xamarin.com/samples/xamarin-forms/Navigation/MasterDetailPage/から取得したメニュー自体は問題ありません。私が気づいたことは、自分のビューの1つにページへの簡単なリンクを作成すると、ハンバーガーメニューとそのアイコンが戻るボタンに置​​き換えられたということでした。コンテンツページからリンクするときにハンバーガーメニューを保存するにはどうすればよいですか?

私が知りたいのは、戻るボタンを表示する代わりにハンバーガーメニューを保持するコンテンツページにリンクを作成する方法です。 MasterPageからリンクをクリックすると、腐食性のあるビューになりますが、ハンバーガーメニューが表示されます。ページの1つのリンクをクリックするとページに移動しますが、代わりに戻るボタンが表示されます。それは私のユーザーのための非常に混乱ナビゲーション体験を引き起こしている。

次のコードは、今すぐハンバーガーメニューでmanuがどのように作成されたかを示しています。

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; 
} 

これは完全に機能しているので、ハンバーガーメニューが常に存在します。 「ダッシュボード」と呼ばれる私の視界内に

私はハンバーガーメニューにあるものを同じページに願っていますし、いくつかのリンクを追加し、私は彼が道を続くINTそうしました:次のように

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

このためのコードがあります:

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

このリンクをクリックすると、hambugerメニューが失われ、代わりに戻るボタンが表示されます。私はハンバーガーメニューを保存したいのですが、私はどのように私のコンテンツページからこれを行うことができます知っていますか?

+0

新しい画面をナビゲーションスタックにプッシュしているため、ユーザーは戻って移動する必要があります。そのパターンから離れると、あなたのアプリの使い勝手が不思議に思う。情報画面をモーダルにプッシュすることはできますが、それでもハンバーガーメニューは表示されません。 –

答えて

2

MasterDetailページの "Detail"プロパティを、リンクしているページを含む新しいNavigationPageに置き換える必要があります。そのような

何か:

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

これは本当にきれいではありませんが、それはアイデアを作ります。

関連する問題