protected override int GetLevelCore() { NavigationViewItemBase nvib = Owner as NavigationViewItemBase; if (nvib != null) { var nvibImpl = nvib; if (nvibImpl.IsTopLevelItem) { return(1); } else { var navView = GetParentNavigationView(); if (navView != null) { var indexPath = navView.GetIndexPathForContainer(nvib); if (indexPath != null) { // first index in path stands for main or footer menu return(indexPath.GetSize() - 1); } } } } return(0); }
public MenuViewModel() { NavigationItems = new ObservableCollection <NavigationViewItemBase>(); GetNagivationItems(); SelectedItem = NavigationItems.First(x => x.GetType() == typeof(NavigationViewItem)); }
private void NavView_ItemInvoked(NavigationView _, NavigationViewItemInvokedEventArgs args) { var tag = (RouteType)args.InvokedItemContainer.Tag; var pre = Selected; Selected = ApplicationRouter.GetRouteTag(tag); SelectedContainer = args.InvokedItemContainer; ContentFrame.NavigateToRoute(tag, TransitionHelper.DecideSlideAnimation(pre, Selected)); }
private NavigationViewRepeaterPosition GetNavigationViewRepeaterPosition() { NavigationViewItemBase navigationViewItem = Owner as NavigationViewItemBase; if (navigationViewItem != null) { return(navigationViewItem.Position); } return(NavigationViewRepeaterPosition.LeftNav); }
NavigationView GetParentNavigationView() { NavigationView navigationView = null; NavigationViewItemBase navigationViewItem = Owner as NavigationViewItemBase; if (navigationViewItem != null) { navigationView = navigationViewItem.GetNavigationView(); } return(navigationView); }
private static void ChangeMenuSelection() { if ((Windows.UI.Xaml.Window.Current.Content as Frame).Content is MenuPage mp) { MenuViewModel VM = mp.DataContext as MenuViewModel; Type t = NavigationFrame.Content.GetType(); NavigationViewItemBase tmp = (VM.NavigationItems as IEnumerable <NavigationViewItemBase>).FirstOrDefault(x => (x.Tag as Type) == t); if (tmp != null) { VM.SelectedItem = tmp; } } }
// Delete menu item when a category is deleted public void DeleteMenuItem(int id) { NavigationViewItemBase deletion = null; foreach (var item in MenuItems) { if (item.Name != null && item.Name == id.ToString()) { deletion = item; } } MenuItems.Remove(deletion); }
public static void DeleteMenuItem(string name) { NavigationViewItemBase deletion = null; foreach (var item in menu) { if (item.Content != null && item.Content.ToString() == name) { deletion = item; } } menu.Remove(deletion); }
private void NavView_Loaded(object sender, RoutedEventArgs e) { foreach (var tag in Tags) { NavView.MenuItems.Add(new NavigationViewItem { Content = tag.Text, Icon = new SymbolIcon((Symbol)0xF1AD), Tag = tag.Type }); } Selected = ApplicationRouter.GetRouteTag(Tags[0].Type); SelectedContainer = (NavigationViewItemBase)(NavView.SelectedItem = NavView.MenuItems[0]); }
private void NavView_OnItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args) { if (args.IsSettingsInvoked) { } else { string itemTitle = args.InvokedItem as string; NavigationViewItemBase navItem = (sender.MenuItemsSource as IEnumerable <NavigationViewItemBase>).First(x => x.Content as string == itemTitle); NavigationService.Navigate(navItem.Tag as Type); } }
private ItemsRepeater GetParentItemsRepeater() { var navview = GetParentNavigationView(); if (navview != null) { NavigationViewItemBase navigationViewItem = Owner as NavigationViewItemBase; if (navigationViewItem != null) { return(navview.GetParentItemsRepeaterForContainer(navigationViewItem)); } } return(null); }
public async Task ResetFlavours() { //Removes each one for (int i = NavView.MenuItems.Count - 1; i >= 0; i--) { NavigationViewItemBase menuitem = (NavigationViewItemBase)NavView.MenuItems[i]; if (menuitem.Name.Equals("Flavour")) { NavView.MenuItems.Remove(menuitem); } } //Loads them await LoadPinnedFlavours(); }
private void navigationViewMainNavigation_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args) { NavigationViewItemBase container = args.SelectedItemContainer; NavigationViewItem selectedItem; if (container is NavigationViewItem) { selectedItem = container as NavigationViewItem; } else { return; } if (selectedItem.Equals(navigationViewItemHome) || selectedItem.Equals(navigationViewItemAboutApplication)) { frameMainContent.Navigate(typeof(PageHome)); } else if (selectedItem.Equals(navigationViewItemPlayer)) { frameMainContent.Navigate(typeof(PagePlayer)); } else if (selectedItem.Equals(navigationViewItemAddTag)) { frameMainContent.Navigate(typeof(PageAddTag)); } else if (selectedItem.Equals(navigationViewItemListTags)) { frameMainContent.Navigate(typeof(PageListTags)); } else if (selectedItem.Equals(navigationViewItemAddSong)) { frameMainContent.Navigate(typeof(PageAddSong)); } else if (selectedItem.Equals(navigationViewItemListSongs)) { frameMainContent.Navigate(typeof(PageListSongs)); } }
//Loads the pinned flavours and playlists into the list on the left of the screen. public async Task LoadPinnedFlavours() { List <long> inlist = new List <long>(); bool showunpinnedflavours = (bool)Windows.Storage.ApplicationData.Current.LocalSettings.Values["ShowUnpinnedFlavours"]; foreach (NavigationViewItemBase menuitem in NavView.MenuItems) { if (menuitem.Name.Equals("Flavour")) { var tag = (long)menuitem.Tag; inlist.Add(tag); } } var playlists = SongListStorage.PlaylistDict.Values; //Loops through the playlists to load the necessary ones. foreach (Playlist playlist in playlists) { if ((playlist.pinned || showunpinnedflavours) && !inlist.Contains(playlist.PlaylistID)) { await LoadFlavour(playlist); } } for (int i = NavView.MenuItems.Count - 1; i >= 0; i--) { NavigationViewItemBase menuitem = (NavigationViewItemBase)NavView.MenuItems[i]; if (menuitem.Name.Equals("Flavour")) { var key = (long)menuitem.Tag; if (!SongListStorage.PlaylistDict.ContainsKey(key) || (!SongListStorage.PlaylistDict[key].pinned && !showunpinnedflavours)) { NavView.MenuItems.Remove(menuitem); //menuitem.Visibility = Visibility.Collapsed; } } } /*newlist.Add((long)(test as NavigationViewItem).Tag); * for (int i = NavView.MenuItems.Count - 1; i >= 0; i--) * { * NavigationViewItemBase menuitem = (NavigationViewItemBase)NavView.MenuItems[i]; * if (menuitem.Name.Equals("Flavour") && (NavigationViewItem)menuitem != test) * { * NavView.MenuItems.Remove(menuitem); * } * }*/ //var orderedlist = NavView.MenuItems.OrderBy(x => ((Playlist)x).Name); //get rid of //NavView.MenuItems.orde //artist.Albums.Sort((x, y) => SongListStorage.AlbumDict[y].Year.CompareTo(SongListStorage.AlbumDict[x].Year)); /*foreach (NavigationViewItemBase menuitem in NavView.MenuItems) * { * if (menuitem.Name.Equals("Flavour")) * { * var key = (long)menuitem.Tag; * var tempname = SongListStorage.PlaylistDict[key].Name; * if (!SongListStorage.PlaylistDict.ContainsKey(key) || (!SongListStorage.PlaylistDict[key].pinned && !SongListStorage.ShowUnpinnedFlavours)) * { * NavView.MenuItems.Remove(menuitem); * //menuitem.Visibility = Visibility.Collapsed; * } * } * }*/ }
public static void SetNavigationType(NavigationViewItemBase dependencyObject, Type value) => dependencyObject.SetValue(NavigationTypeProperty, value);
public static Type GetNavigationType(NavigationViewItemBase dependencyObject) => (Type)dependencyObject.GetValue(NavigationTypeProperty);