コード例 #1
0
        public void NavigateAsync(AppPage menuId)
        {
            Page newPage = null;

            if (!pages.ContainsKey(menuId))
            {
                //only cache specific pages
                switch (menuId)
                {
                case AppPage.Lockers:    //lockers
                    pages.Add(menuId, new SealegsNavigationPage(new LockersPage()));
                    break;

                case AppPage.Feed:     //Feed
                    pages.Add(menuId, new SealegsNavigationPage(new FeedPage()));
                    break;

                case AppPage.Employees:    //Employees
                    pages.Add(menuId, new SealegsNavigationPage(new Employees()));
                    break;

                case AppPage.AddEmployee:     // AddEmployee
                    pages.Add(menuId, new SealegsNavigationPage(new AddEmployee()));
                    break;

                case AppPage.Events:    //events
                    pages.Add(menuId, new SealegsNavigationPage(new EventsPage()));
                    break;

                case AppPage.MiniHacks:    //Mini-Hacks
                    newPage = new SealegsNavigationPage(new MiniHacksPage());
                    break;

                case AppPage.News:    //news
                    newPage = new SealegsNavigationPage(new NewsPage());
                    break;

                case AppPage.Evals:     //venue
                    newPage = new SealegsNavigationPage(new EvaluationsPage());
                    break;

                case AppPage.Venue:     //venue
                    newPage = new SealegsNavigationPage(new VenuePage());
                    break;

                case AppPage.ConferenceInfo:    //Conference info
                    newPage = new SealegsNavigationPage(new ConferenceInformationPage());
                    break;

                case AppPage.FloorMap:    //Floor Maps
                    newPage = new SealegsNavigationPage(new FloorMapsCarouselPage());
                    break;

                case AppPage.Settings:    //Settings
                    newPage = new SealegsNavigationPage(new SettingsPage());
                    break;
                }
            }

            if (newPage == null)
            {
                newPage = pages[menuId];
            }

            if (newPage == null)
            {
                return;
            }

            Detail = newPage;
            //await Navigation.PushAsync(newPage);
        }
コード例 #2
0
        public async Task NavigateAsync(int menuId)
        {
            try
            {
                SealegsNavigationPage newPage = null;
                if (!pages.ContainsKey(menuId))
                {
                    //only cache specific pages
                    switch (menuId)
                    {
                    case (int)AppPage.Lockers:    //lockers
                        pages.Add(menuId, new SealegsNavigationPage(new LockersPage()));
                        break;

                    case (int)AppPage.Employees:     //Employees
                        pages.Add(menuId, new SealegsNavigationPage(new Employees()));
                        break;

                    case (int)AppPage.Feed:     //Feed
                        pages.Add(menuId, new SealegsNavigationPage(new FeedPage()));
                        break;

                    case (int)AppPage.Events:    //events
                        pages.Add(menuId, new SealegsNavigationPage(new EventsPage()));
                        break;

                    case (int)AppPage.MiniHacks:    //Mini-Hacks
                        newPage = new SealegsNavigationPage(new MiniHacksPage());
                        break;

                    case (int)AppPage.News:    //news
                        newPage = new SealegsNavigationPage(new NewsPage());
                        break;

                    case (int)AppPage.Venue:     //venue
                        newPage = new SealegsNavigationPage(new VenuePage());
                        break;

                    case (int)AppPage.ConferenceInfo:    //Conference info
                        newPage = new SealegsNavigationPage(new ConferenceInformationPage());
                        break;

                    case (int)AppPage.FloorMap:    //Floor Maps
                        newPage = new SealegsNavigationPage(new FloorMapsCarouselPage());
                        break;

                    case (int)AppPage.Settings:    //Settings
                        newPage = new SealegsNavigationPage(new SettingsPage());
                        break;

                    case (int)AppPage.Evals:
                        newPage = new SealegsNavigationPage(new EvaluationsPage());
                        break;
                    }
                }


                if (newPage == null)
                {
                    newPage = pages[menuId];
                }

                if (newPage == null)
                {
                    return;
                }

                //if we are on the same tab and pressed it again.
                if (Detail == newPage)
                {
                    await newPage.Navigation.PopToRootAsync();
                }
                Detail = newPage;
            }
            catch (Exception e)
            { }
        }