コード例 #1
0
        public async Task NavigateFromMenu(int id)
        {
            if (!MenuPages.ContainsKey(id))
            {
                switch (id)
                {
                case (int)MenuItemType.History:
                    MenuPages.Add(id, new NavigationPage(_pageNavigator.ItemsPage()));
                    break;

                case (int)MenuItemType.Budgets:
                    MenuPages.Add(id, new NavigationPage(_pageNavigator.BudgetsPage()));
                    break;

                default:
                    //case (int)MenuItemType.About:
                    MenuPages.Add(id, new NavigationPage(_pageNavigator.AboutPage()));
                    break;
                }
            }

            var newPage = MenuPages[id];

            if (newPage != null && Detail != newPage)
            {
                Detail = newPage;

                if (Device.RuntimePlatform == Device.Android)
                {
                    await Task.Delay(100);
                }

                IsPresented = false;
            }
        }