상속: NavigationPage
예제 #1
0
        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;
            }
        }
예제 #2
0
파일: RootPage.cs 프로젝트: XnainA/app-crm
        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;
        }