public async Task NavigateToAsync <TPageModelBase>(object navigationData, bool setRoot) { var page = PageModelLocator.CreatePageFor(typeof(TPageModelBase)); if (setRoot) { App.Current.MainPage = new NavigationPage(page); } else { if (App.Current.MainPage is NavigationPage navPage) { await navPage.PushAsync(page); } else { App.Current.MainPage = new NavigationPage(page); } } if (page.BindingContext is PageModelBase pmBase) { await pmBase.InitializeAsync(navigationData); } }
public async Task NavigateToAsync <TPageModel>(object navigationData = null, bool setRoot = false) where TPageModel : PageModelBase { var page = PageModelLocator.CreatePageFor <TPageModel>(); if (App.Current.MainPage is NavigationPage navPage) { await navPage.PushAsync(page); } else { App.Current.MainPage = new NavigationPage(page); } await((PageModelBase)page.BindingContext).InitializeAsync(navigationData); }
public App() { InitializeComponent(); PageModelLocator.RegisterDependencies(); InitNavigation(); //NavigationPage mainNav = new NavigationPage(new Views.Media.PDFViewer()); //mainNav.BarBackgroundColor = Color.Purple; //MainPage = mainNav; //NavigationPage mainNav = new NavigationPage(new Pages.HomePage()); //mainNav.BarBackgroundColor = Color.Purple; //MainPage = mainNav; }
public async Task NavigateToAsync <TPageModel>(object navigationData = null, bool setRoot = false) where TPageModel : PageModelBase { Page page = PageModelLocator.CreatePageFor <TPageModel>(); if (setRoot) { if (page is TabbedPage tabbedPage) { App.Current.MainPage = tabbedPage; } else { App.Current.MainPage = new NavigationPage(page); } } else { if (page is TabbedPage tabPage) { App.Current.MainPage = tabPage; } else if (App.Current.MainPage is NavigationPage navigationPage) { await navigationPage.PushAsync(page); } else if (App.Current.MainPage is TabbedPage tabbedPage) { if (tabbedPage.CurrentPage is NavigationPage nPage) { await nPage.PushAsync(page); } } else { App.Current.MainPage = new NavigationPage(page); } } if (page.BindingContext is PageModelBase pmBase) { await pmBase.InitializeAsync(navigationData); } }
public async Task NavigateToAsync <TPageModel>(object navigationData = null, bool setRoot = false) where TPageModel : PageModelBase { var page = PageModelLocator.CreatePageFor(typeof(TPageModel)); if (setRoot) { // if it's a tabbed page, we dont want to wrap it in a navigation page (the bar at the top with the arrow) // ensures there's no back arrow at top bar when page is in a tabview if (page is TabbedPage tabbedPage) { App.Current.MainPage = tabbedPage; } else { App.Current.MainPage = new NavigationPage(page); } } else { // if it's a tabbed page, we dont want to wrap it in a navigation page (the bar at the top with the arrow) // ensures there's no back arrow at top bar when page is in a tabview if (page is TabbedPage tabPage) { App.Current.MainPage = tabPage; } else if (App.Current.MainPage is NavigationPage navPage) { await navPage.PushAsync(page); } else { App.Current.MainPage = new NavigationPage(page); } } if (page.BindingContext is PageModelBase pmBase) { await pmBase.InitializeAsync(navigationData); } }
private Task InitNavigation() { var navigationService = PageModelLocator.Resolve <INavigationService>(); return(navigationService.InitializeAsync()); }
Task InitNavigation() { var navService = PageModelLocator.Resolve <INavigationService>(); return(navService.NavigateToAsync <LoginPageModel>()); }
protected override void OnStart() { PageModelLocator.Resolve <INavigationService>().NavigateToAsync <MainPageModel>(null, true); }