2016-08-10 9 views
0

Können wir mehrere Navigationsmuster in einer einzigen App verwenden?Xamarin-Formulare: Mehrere Navigationsmuster in derselben App

In meiner app.xaml Seite habe ich eine Funktion

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

Aber nach ein Nutzer in Ich möchte Master-Detail-Seite nutzen zu können. Gibt es eine Möglichkeit, das zu tun?

Antwort

2

Ja. Sie müssen nur noch die MainPage Ihrer App einstellen. In unseren Projekten verwenden wir eine Hilfsklasse, die ein Verfahren Restart mit folgenden Logik:

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

Die NavigationType eine Enumeration ist:

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

ich die Helfer Klasse versucht umzusetzen. Wenn ein Benutzer auf eine Schaltfläche klickt SignIn sagen, es wird die Restart-Funktion aufrufen und 'Application.Current.MainPage = SetupMasterDetailNav()' die aktuelle Haupt-Seite ruft eine 'öffentliche Seite SetupMasterDetailNav() \t \t { \t \t \t var masterDetail = new FreshMvvm.FreshMasterDetailNavigationContainer(); \t \t \t masterDetail.AddPage ("Login"); \t \t \t masterDetail.AddPage ("Registrieren"); \t \t \t masterDetail.Init ("x"); \t \t \t MainPage = masterDetail; \t \t \t zurück MainPage; \t \t} ' Aber es ist immer noch auf der gleichen Seite. Ich kann die Navigation nicht ändern. – TheDeveloper

+0

Macht nichts. Ich hab es geschafft. Danke vielmals. – TheDeveloper

Verwandte Themen