Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        private Task InitNavigation()
        {
            var navigationService = PageModelLocator.Resolve <INavigationService>();

            return(navigationService.InitializeAsync());
        }
Esempio n. 7
0
        Task InitNavigation()
        {
            var navService = PageModelLocator.Resolve <INavigationService>();

            return(navService.NavigateToAsync <LoginPageModel>());
        }
Esempio n. 8
0
 protected override void OnStart()
 {
     PageModelLocator.Resolve <INavigationService>().NavigateToAsync <MainPageModel>(null, true);
 }