void updateAppbar() { // Handle appbar switching between map and main pivot if (lastVisiblePage == LastVisiblePage.startup || (MainPivot.Visibility == Visibility.Visible && lastVisiblePage != LastVisiblePage.mainpivot)) { // Main pivot visible lastVisiblePage = LastVisiblePage.mainpivot; // Add map button ApplicationBar.Buttons.Clear(); // ApplicationBar.Buttons.Add(filterButton); ApplicationBar.Buttons.Add(meButton); ApplicationBar.Buttons.Add(mapButton); // Add appropriate menu items ApplicationBar.MenuItems.Clear(); ApplicationBar.MenuItems.Add(webSiteMenu); ApplicationBar.MenuItems.Add(unitsMenu); ApplicationBar.MenuItems.Add(logoutMenu); ApplicationBar.MenuItems.Add(aboutMenu); // Debug. Uncomment this to enable debug mode. ApplicationBar.MenuItems.Add(debugMenu); } else if (MainPivot.Visibility != Visibility.Visible && lastVisiblePage != LastVisiblePage.mappage) { // Map visible lastVisiblePage = LastVisiblePage.mappage; ApplicationBar.Buttons.Clear(); // ApplicationBar.Buttons.Add(filterButton); ApplicationBar.Buttons.Add(meButton); ApplicationBar.MenuItems.Clear(); ApplicationBar.MenuItems.Add(aerialViewMenu); ApplicationBar.MenuItems.Add(roadViewMenu); // Debug if (App.ViewModelMain.debug) { ApplicationBar.Buttons.Add(debugButton); // Todo: comment out for public release } } }
private void setAppBar() { ApplicationBar.IsVisible = false; SearchCanvas.Visibility = System.Windows.Visibility.Collapsed; SearchBox.Visibility = System.Windows.Visibility.Collapsed; int len = ApplicationBar.Buttons.Count; if (len <= 0) { // No buttons assigned to application bar in XAML // if (null == filterButton) // { // Create filter button // filterButton = new ApplicationBarIconButton(new Uri("/Images/Appbar/appbar.filter.png", UriKind.Relative)); // filterButton.Text = WebResources.filterButtonText; // filterButton.Click += ApplicationBarIconButton_Click_Filter; // } if (null == meButton) { // Create me button meButton = new ApplicationBarIconButton(new Uri("/Images/Appbar/appbar.location.circle.png", UriKind.Relative)); meButton.Text = WebResources.meButtonText; meButton.Click += ApplicationBarIconButton_Click_Me; } if (null == mapButton) { // Create me button mapButton = new ApplicationBarIconButton(new Uri("/Images/Appbar/appbar.map.png", UriKind.Relative)); mapButton.Text = WebResources.mapButtonText; mapButton.Click += ApplicationBarIconButton_Click_Map; } if (null == updateButton) { // Create update button updateButton = new ApplicationBarIconButton(new Uri("/Images/Appbar/appbar.getnew.png", UriKind.Relative)); updateButton.Text = WebResources.updateButtonText; updateButton.Click += ApplicationBarIconButton_Click_Update; } if (null == allButton) { // Create update button allButton = new ApplicationBarIconButton(new Uri("/Images/Appbar/appbar.getall.png", UriKind.Relative)); allButton.Text = WebResources.allButtonText; allButton.Click += ApplicationBarIconButton_Click_All; } if (null == searchButton) { // Create search button searchButton = new ApplicationBarIconButton(new Uri("/Images/Appbar/appbar.magnify.png", UriKind.Relative)); searchButton.Text = WebResources.searchButtonText; searchButton.Click += ApplicationBarIconButton_Click_Search; } // Debug if (null == debugButton) { // Create me button debugButton = new ApplicationBarIconButton(new Uri("/Images/Appbar/appbar.attach.rest.png", UriKind.Relative)); debugButton.Text = WebResources.debugButtonText; debugButton.Click += ApplicationBarIconButton_Click_Debug; } } len = ApplicationBar.MenuItems.Count; if (len <= 0) { // No menus assigned to application bar in XAML if (null == webSiteMenu) { // Create menu item to launch web site webSiteMenu = new ApplicationBarMenuItem(); webSiteMenu.Text = WebResources.webSiteMenuText; webSiteMenu.Click += webSiteMenu_Click; } if (null == unitsMenu) { // Create menu item to change distance units unitsMenu = new ApplicationBarMenuItem(); if (App.settings.isMetric) { unitsMenu.Text = WebResources.unitsMenuTextMi; } else { unitsMenu.Text = WebResources.unitsMenuTextKm; } unitsMenu.Click += unitsMenu_Click; } if (null == logoutMenu) { // Create menu item to log out logoutMenu = new ApplicationBarMenuItem(); logoutMenu.Text = WebResources.LogoutMenuText; logoutMenu.Click += loginLogoutMenu_Click; } if (null == aerialViewMenu) { // Create menu item to change to aerial map mode aerialViewMenu = new ApplicationBarMenuItem(); aerialViewMenu.Text = WebResources.aerialViewMenuText; aerialViewMenu.Click += aerialViewMenu_Click; } if (null == roadViewMenu) { // Create menu item to change to road map mode roadViewMenu = new ApplicationBarMenuItem(); roadViewMenu.Text = WebResources.roadViewMenuText; roadViewMenu.Click += roadViewMenu_Click; } if (null == aboutMenu) { // Create menu item to show traffic on map aboutMenu = new ApplicationBarMenuItem(); aboutMenu.Text = WebResources.aboutMenuText; aboutMenu.Click += aboutMenu_Click; } if (null == debugMenu) { // Create menu item to toggle debug mode debugMenu = new ApplicationBarMenuItem(); debugMenu.Text = WebResources.debugMenuText; debugMenu.Click += debugMenu_Click; } } // Assuming we start up on pivot Todo: is this always true? lastVisiblePage = LastVisiblePage.startup; updateAppbar(); }