public async Task NavigateAsync(MenuType id) { Page newPage; if (!Pages.ContainsKey(id)) { switch (id) { case MenuType.Sales: var page = new CRMNavigationPage(new SalesDashboardPage { Title = TextResources.MainTabs_Sales, Icon = new FileImageSource { File = "sales.png" } }); SetDetailIfNull(page); Pages.Add(id, page); break; case MenuType.Customers: page = new CRMNavigationPage(new CustomersPage { BindingContext = new CustomersViewModel() { Navigation = this.Navigation }, Title = TextResources.MainTabs_Customers, Icon = new FileImageSource { File = "customers.png" } }); SetDetailIfNull(page); Pages.Add(id, page); break; case MenuType.Products: page = new CRMNavigationPage(new CategoryListPage { BindingContext = new CategoriesViewModel() { Navigation = this.Navigation }, Title = TextResources.MainTabs_Products, Icon = new FileImageSource { File = "products.png" } }); SetDetailIfNull(page); Pages.Add(id, page); break; case MenuType.About: page = new CRMNavigationPage(new AboutItemListPage { Title = TextResources.MainTabs_Products, Icon = new FileImageSource { File = "about.png" }, BindingContext = new AboutItemListViewModel() { Navigation = this.Navigation } }); SetDetailIfNull(page); Pages.Add(id, page); break; } } newPage = Pages[id]; if (newPage == null) { return; } //pop to root for Windows Phone if (Detail != null && Device.OS == TargetPlatform.WinPhone) { await Detail.Navigation.PopToRootAsync(); } Detail = newPage; if (Device.Idiom != TargetIdiom.Tablet) { IsPresented = false; } }
public async Task NavigateAsync(MenuType id) { Page newPage; if (!Pages.ContainsKey(id)) { switch (id) { case MenuType.Sales: var page = new CRMNavigationPage(new SalesDashboardPage { Title = TextResources.MainTabs_Sales, Icon = new FileImageSource { File = "sales.png" } }); SetDetailIfNull(page); Pages.Add(id, page); break; case MenuType.Customers: page = new CRMNavigationPage(new CustomersPage { BindingContext = new CustomersViewModel() { Navigation = this.Navigation }, Title = TextResources.MainTabs_Customers, Icon = new FileImageSource { File = "customers.png" } }); SetDetailIfNull(page); Pages.Add(id, page); break; case MenuType.Products: page = new CRMNavigationPage(new CategoryListPage { BindingContext = new CategoriesViewModel() { Navigation = this.Navigation }, Title = TextResources.MainTabs_Products, Icon = new FileImageSource { File = "products.png" } }); SetDetailIfNull(page); Pages.Add(id, page); break; case MenuType.About: page = new CRMNavigationPage(new AboutItemListPage { Title = TextResources.MainTabs_Products, Icon = new FileImageSource { File = "about.png" }, BindingContext = new AboutItemListViewModel() { Navigation = this.Navigation } }); SetDetailIfNull(page); Pages.Add(id, page); break; } } newPage = Pages[id]; if (newPage == null) return; //pop to root for Windows Phone if (Detail != null && Device.OS == TargetPlatform.WinPhone) { await Detail.Navigation.PopToRootAsync(); } Detail = newPage; if (Device.Idiom != TargetIdiom.Tablet) IsPresented = false; }