public void SetNavigationState(App.NavigationStates state) { if (CurrentNavigationState != state) { CurrentNavigationState = state; ((App)Application.Current).lastNavState = state; InitializeGridView(state); } //add text to pick an app for search/share Breadcrumb bc; List <Breadcrumb> b = new List <Breadcrumb>(); if (CurrentNavigationState == App.NavigationStates.Search) { bc = new Breadcrumb(App.Apps.NoPage, true, "Select an app to search..."); //this.title.ButtonOpacity = 1; //This is a small hack to allow the back arrow to bring the user back to a normal main page after searching ((App)Application.Current).lastNavState = App.NavigationStates.Normal; } else if (CurrentNavigationState == App.NavigationStates.Share) { bc = new Breadcrumb(App.Apps.NoPage, true, "Share to..."); } else { bc = new Breadcrumb(App.Apps.NoPage, true, App.AppName); } b.Add(bc); this.title.SetupBreadcrumbs(b); }
//Need to handle snapping private void SetupBreadcrumbs(List <Breadcrumb> breadcrumbs, bool copyLocal) { if (copyLocal) { this.crumbs = breadcrumbs; } // if in snapped mode if (App.CurrentView == App.ViewModelStates.Snapped) { this.stackCrumbs.Children.Clear(); Breadcrumb bc = crumbs.Last(); //Create a textblock TextBlock tb = new TextBlock(); tb.Style = this.Resources["BreadcrumbStyle"] as Style; tb.Margin = new Thickness(0, 15, 0, 0); tb.Text = bc.TitleText; tb.Foreground = Helpers.GetBrush(Helpers.Colors.Black); this.stackCrumbs.Children.Add(tb); } // if we're not in snapped mode else { this.stackCrumbs.Children.Clear(); for (int i = 0; i < breadcrumbs.Count; i++) { Breadcrumb bc = breadcrumbs[i]; Utilities.Common.BreadCrumbItem bci = new Common.BreadCrumbItem(bc.TargetPage, App.NavigationStates.Normal, bc.TitleText, i, bc.IsLast); // tilt effects Callisto.Effects.Tilt.SetIsTiltEnabled(bci, true); this.stackCrumbs.Children.Add(bci); } } }