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