2016-08-10 3 views
0

複数のナビゲーションパターンを1つのアプリケーションに含めることはできますか?私app.xamlページでXamarinフォーム:同じアプリ内の複数のナビゲーションパターン

は私が機能

void SetUpNavigation() 
     { 
      var page = FreshPageModelResolver.ResolvePageModel<LaunchPageModel>(); 
      var navPage = new FreshNavigationContainer(page); 
      MainPage = navPage; 
     } 

しかし、私はマスターの詳細ページを使用するユーザーがサインインした後

を追加しました。それを行う方法はありますか?

答えて

2

はい。アプリのMainPageをもう一度設定する必要があります。

public enum NavigationType 
{ 
    Normal, 
    Restart, 
    RestartWithMasterPage 
} 
+0

私はヘルパークラスを実装してみました:NavigationTypeが列挙型である

public static void Restart(View view, NavigationType navtype) { // Reset the mainpage depending on the navigation type if (navtype == NavigationType.RestartWithMasterPage) { Application.Current.MainPage = new MasterPage(view); } else if (navtype == NavigationType.Restart) { Application.Current.MainPage = new NavigationPage(view); } else { // Just show the page Application.Current.MainPage = view; } } 

:私たちのプロジェクトでは、以下のロジックでRestartメソッドを持つヘルパークラスを使用します。ユーザーがボタンをクリックするが、サインインを言うとき、それは再起動関数を呼び出しますし、 'Application.Current.MainPage = SetupMasterDetailNav()'現在のメインページは( 'パブリックページSetupMasterDetailNavを呼び出します) \t \t { \t \t \t var masterDetail = new FreshMvvm.FreshMasterDetailNavigationContainer(); \t \t \t masterDetail.AddPage ( "Login"); \t \t \t masterDetail.AddPage ( "Register"); \t \t \t masterDetail.Init( "x"); \t \t \t MainPage = masterDetail; \t \t \t return MainPage; \t \t} しかし、それはまだ同じページにあります。私はナビゲーションを変更することができません。 – TheDeveloper

+0

気にしないでください。わかった。どうもありがとう。 – TheDeveloper

関連する問題