public void SetPage(FolderTree tree, bool setHeader = true) { if (History.Count > 0 && History.Peek() == tree) { return; } History.Push(tree); SetBackButtonVisibility(); TreeInfo info = tree.Info; SetText(info, setHeader); if (IsBackToMusicPage(info)) { LocalNavigationView.SelectedItem = LocalSongsItem; LocalFrame.Navigate(typeof(LocalMusicPage), tree); SetLocalGridView(Settings.settings.LocalMusicGridView); } else if (info.Folders > 0) { LocalNavigationView.SelectedItem = LocalFoldersItem; LocalFrame.Navigate(typeof(LocalFoldersPage), tree); SetLocalGridView(Settings.settings.LocalFolderGridView); } else { LocalNavigationView.SelectedItem = null; } }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="navigationEvent">Event data that describes how this page was reached. The Parameter /// property is typically used to configure the page.</param> /// protected override void OnNavigatedTo(NavigationEventArgs navigationEvent) { if (navigationEvent == null) { throw new ArgumentNullException("navigationEvent", "+ cannot be null"); } if (navigationEvent.Parameter.ToString().Split(":".ToCharArray()).Length > 1) { LocalFrame.Navigate(typeof(GroupedItemsPage), "AllGroups"); //To have the correct Back-stack LocalFrame.Navigate(typeof(GroupDetailPage), navigationEvent.Parameter.ToString().Split(":".ToCharArray())[1]); } else { LocalFrame.Navigate(typeof(GroupedItemsPage), navigationEvent.Parameter); HideAppBars(); } }
private void LocalNavigationView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args) { bool isFolders = LocalFoldersItem.IsSelected; Type page = isFolders ? typeof(LocalFoldersPage) : typeof(LocalMusicPage); if (LocalFrame.CurrentSourcePageType == page) { return; } PageStackEntry lastPage = LocalFrame.BackStackDepth == 0 ? null : LocalFrame.BackStack.Last(); if (LocalFrame.CanGoBack && lastPage.SourcePageType == page && lastPage.Parameter == History.Peek()) { LocalFrame.GoBack(); } else { LocalFrame.Navigate(page, History.Peek()); } SetLocalGridView(isFolders ? Settings.settings.LocalFolderGridView : Settings.settings.LocalMusicGridView); }
private void LocalNavigationView_BackRequested(NavigationView sender, NavigationViewBackRequestedEventArgs args) { if (History.Count == 1) { return; } var tree = History.Pop(); int last; PageStackEntry page; do { page = LocalFrame.BackStack[last = LocalFrame.BackStack.Count - 1]; if (page.Parameter == tree) { LocalFrame.BackStack.RemoveAt(last); } else { break; } } while (true); LocalFrame.GoBack(); var info = History.Peek().Info; SetText(info); switch (page.SourcePageType.Name) { case "LocalFoldersPage": LocalFoldersItem.IsSelected = true; SetLocalGridView(Settings.settings.LocalFolderGridView); break; case "LocalMusicPage": LocalSongsItem.IsSelected = true; SetLocalGridView(Settings.settings.LocalMusicGridView); break; } SetBackButtonVisibility(); }
private void MoviesButton_Click(object sender, RoutedEventArgs e) { LocalFrame.Navigate(typeof(GroupedItemsPage), "AllGroups"); HideAppBars(); }
private void AddButton_Click(object sender, RoutedEventArgs e) { LocalFrame.Navigate(typeof(AddActor), "AllGroups"); HideAppBars(); }
private void HelpButton_Click(object sender, RoutedEventArgs e) { LocalFrame.Navigate(typeof(HelpPage), "AllGroups"); HideAppBars(); }