private void AddFooterItemButton_Click(object sender, RoutedEventArgs e) { var menuItem = new NavigationViewItem(); menuItem.Content = "New Footer Menu Item " + m_newFooterItemIndex.ToString(); menuItem.Icon = new SymbolIcon(Symbol.AllApps); NavView.FooterMenuItems.Add(menuItem); m_newFooterItemIndex++; }
private bool IsMenuItemForPageType(WinUI.NavigationViewItem menuItem, Type sourcePageType) { var sourcePageKey = sourcePageType.Name; sourcePageKey = sourcePageKey.Substring(0, sourcePageKey.Length - 4); var pageKey = menuItem.GetValue(NavHelper.NavigateToProperty) as string; return(pageKey == sourcePageKey); }
private void Frame_Navigated(object sender, NavigationEventArgs e) { IsBackEnabled = NavigationService.CanGoBack; var selectedItem = GetSelectedItem(navigationView.MenuItems, e.SourcePageType); if (selectedItem != null) { Selected = selectedItem; } }
private void AddNavigationItems(MUXC.NavigationView nv) { var categories = GetSamples() .OrderByDescending(x => x.SortOrder.HasValue) .ThenBy(x => x.SortOrder) .ThenBy(x => x.Title) .GroupBy(x => x.Category); foreach (var category in categories.OrderBy(x => x.Key)) { var tier = 1; var parentItem = default(MUXC.NavigationViewItem); if (category.Key != SampleCategory.None) { parentItem = new MUXC.NavigationViewItem { Content = category.Key.GetDescription() ?? category.Key.ToString(), SelectsOnInvoked = false, Style = (Style)Resources[$"T{tier++}NavigationViewItemStyle"] }.Apply(NavViewItemVisualStateFix); AutomationProperties.SetAutomationId(parentItem, "Section_" + parentItem.Content); nv.MenuItems.Add(parentItem); } foreach (var sample in category) { var item = new MUXC.NavigationViewItem { Content = sample.Title, DataContext = sample, Style = (Style)Resources[$"T{tier}NavigationViewItemStyle"] }.Apply(NavViewItemVisualStateFix); AutomationProperties.SetAutomationId(item, "Section_" + item.Content); (parentItem?.MenuItems ?? nv.MenuItems).Add(item); } } void NavViewItemVisualStateFix(MUXC.NavigationViewItem nvi) { // gallery#107: on uwp and uno, deselecting a NVI by selecting another NVI will leave the former in the "Selected" state // to workaround this, we force reset the visual state when IsSelected becomes false nvi.RegisterPropertyChangedCallback(MUXC.NavigationViewItemBase.IsSelectedProperty, (s, e) => { if (!nvi.IsSelected) { // depending on the DisplayMode, a NVIP may or may not be used. var nvip = VisualTreeHelperEx.GetFirstDescendant <MUXCP.NavigationViewItemPresenter>(nvi, x => x.Name == "NavigationViewItemPresenter"); VisualStateManager.GoToState((Control)nvip ?? nvi, "Normal", true); } }); } }
public static PageInfo GetFromNavigationViewItem(NavigationViewItem navItem) { if (navItem.Tag is PageInfo pageInfo) { return(pageInfo); } else { return(null); } }
private void NavigationViewDriveItem_RightTapped(object sender, RightTappedRoutedEventArgs e) { Microsoft.UI.Xaml.Controls.NavigationViewItem sidebarItem = (Microsoft.UI.Xaml.Controls.NavigationViewItem)sender; ShowUnpinItem = false; ShowEmptyRecycleBin = false; ShowProperties = true; SideBarItemContextFlyout.ShowAt(sidebarItem, e.GetPosition(sidebarItem)); App.rightClickedItem = sidebarItem.DataContext as DriveItem; }
private void Frame_Navigated(object sender, NavigationEventArgs e) { IsBackEnabled = NavigationService.CanGoBack; if (e.SourcePageType == typeof(SettingsPage)) { Selected = navigationView.SettingsItem as WinUI.NavigationViewItem; return; } Selected = navigationView.MenuItems .OfType <WinUI.NavigationViewItem>() .FirstOrDefault(menuItem => IsMenuItemForPageType(menuItem, e.SourcePageType)); }
public static PageInfo CreateFromNavigationViewItem(NavigationViewItem navItem) { var page = new PageInfo(); page.Title = (navItem.Content == null) ? string.Empty : navItem.Content.ToString(); page.Icon = navItem.Icon ?? new SymbolIcon(Symbol.Document); var tooltip = ToolTipService.GetToolTip(navItem); page.Tooltip = (tooltip == null) ? string.Empty : tooltip.ToString(); return(page); }
public ShellPage() { InitializeComponent(); DataContext = this; Initialize(); for (int i = 0; i < 5; i++) { WinUI.NavigationViewItem navigationViewItem = new WinUI.NavigationViewItem(); navigationViewItem.Content = "AAA " + i.ToString(); navigationView.MenuItems.Add(navigationViewItem); } }
private bool IsMenuItemForPageType(WinUI.NavigationViewItem menuItem, Type sourcePageType) { var sourceViewModelType = ViewModelLocator.LocateTypeForViewType(sourcePageType, false); var pageType = menuItem.GetValue(NavHelper.NavigateToProperty) as Type; if (pageType != null) { var viewModelType = ViewModelLocator.LocateTypeForViewType(pageType, false); return(viewModelType == sourceViewModelType); } return(false); }
private void ScrambleButton_Click(object sender, RoutedEventArgs e) { foreach (var entry in NavView.MenuItems) { NavigationViewItem item = entry as NavigationViewItem; if (item != null) { char[] newTitle = item.Content.ToString().ToCharArray(); Array.Reverse(newTitle); item.Content = new string(newTitle); } } }
private void Frame_Navigated(object sender, NavigationEventArgs e) { IsBackEnabled = NavigationService.CanGoBack; if (e.SourcePageType == typeof(SettingsPage)) { Selected = navigationView.SettingsItem as WinUI.NavigationViewItem; return; } var selectedItem = GetSelectedItem(navigationView.MenuItems, e.SourcePageType); if (selectedItem != null) { Selected = selectedItem; } }
private void GenerateNavigationViewItems(List <Vista> vistas) { foreach (var vista in vistas) { WinUI.NavigationViewItem item = new WinUI.NavigationViewItem() { Content = vista.Descripcion, Name = vista.ID.ToString(), Icon = new SymbolIcon((Symbol)Enum.Parse(typeof(Symbol), vista.IconName)), }; Type type = Type.GetType("Lawful.Views." + vista.AssociatedViewName); NavHelper.SetNavigateTo(item, type); navigationView.MenuItems.Add(item); } }
private void ViewModel_DisplayedViewChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { WinUI.NavigationViewItem requestedItem = ConvertNavigationItem(ViewModel.DisplayedView); if (requestedItem.IsEnabled == true) { NavigationViewMain.SelectedItem = requestedItem; } else { // can not select requested item ~> resynchronize ViewModel var currentlySelectedItem = NavigationViewMain.SelectedItem as WinUI.NavigationViewItem; ViewModel.DisplayedView = ConvertNavigationItem(currentlySelectedItem); } }
private void AddNavigationMenuItems() { foreach (var group in ControlInfoDataSource.Instance.Groups.OrderBy(i => i.Title)) { var item = new Microsoft.UI.Xaml.Controls.NavigationViewItem() { Content = group.Title, Tag = group.UniqueId, DataContext = group }; AutomationProperties.SetName(item, group.Title); if (group.ImagePath.ToLowerInvariant().EndsWith(".png")) { item.Icon = new BitmapIcon() { UriSource = new Uri(group.ImagePath, UriKind.RelativeOrAbsolute) }; } else { item.Icon = new FontIcon() { FontFamily = new FontFamily("Segoe MDL2 Assets"), Glyph = group.ImagePath }; } NavigationViewControl.MenuItems.Add(item); if (group.UniqueId == "AllControls") { this._allControlsMenuItem = item; } else if (group.UniqueId == "NewControls") { this._newControlsMenuItem = item; } } // Move "What's New" and "All Controls" to the top of the NavigationView NavigationViewControl.MenuItems.Remove(_allControlsMenuItem); NavigationViewControl.MenuItems.Remove(_newControlsMenuItem); NavigationViewControl.MenuItems.Insert(0, _allControlsMenuItem); NavigationViewControl.MenuItems.Insert(0, _newControlsMenuItem); // Separate the All/New items from the rest of the categories. NavigationViewControl.MenuItems.Insert(2, new Microsoft.UI.Xaml.Controls.NavigationViewItemSeparator()); _newControlsMenuItem.Loaded += OnNewControlsMenuItemLoaded; }
private void Frame_Navigated(object sender, NavigationEventArgs e) { IsBackEnabled = NavigationService.CanGoBack; // Start Project Nirvash if (e.SourcePageType == typeof(SettingsPage)) { NavigationService.Navigate(typeof(SettingsPage)); return; } // Stop Project Nirvash var selectedItem = GetSelectedItem(navigationView.MenuItems, e.SourcePageType); if (selectedItem != null) { Selected = selectedItem; } }
/* Helper functions */ private UIElement GetContentBox(NavigationViewItem element) { if (element == null) { return(null); } // Path we are using here: NVIGrid->NavigationViewItemPresenter->LayoutRoot // ->PresenterContentRootGrid->ContentGrid->ContentPresenter var elementGrid = VisualTreeHelper.GetChild(element, 0); var presenter = VisualTreeHelper.GetChild(elementGrid, 0); var layoutRoot = VisualTreeHelper.GetChild(presenter, 0); var presenterContentRootGrid = VisualTreeHelper.GetChild(layoutRoot, 1); var contentGrid = VisualTreeHelper.GetChild(presenterContentRootGrid, 1); var contentPresenter = VisualTreeHelper.GetChild(contentGrid, 1); return(contentPresenter as UIElement); }
private void AddNavigationMenuItems() { foreach (var group in ControlInfoDataSource.Instance.Groups.OrderBy(i => i.Title)) { var itemGroup = new Microsoft.UI.Xaml.Controls.NavigationViewItem() { Content = group.Title, Tag = group.UniqueId, DataContext = group, Icon = GetIcon(group.ImagePath) }; AutomationProperties.SetName(itemGroup, group.Title); foreach (var item in group.Items) { var itemInGroup = new Microsoft.UI.Xaml.Controls.NavigationViewItem() { Content = item.Title, Tag = item.UniqueId, DataContext = item, Icon = GetIcon(item.ImagePath) }; itemGroup.MenuItems.Add(itemInGroup); AutomationProperties.SetName(itemInGroup, item.Title); } NavigationViewControl.MenuItems.Add(itemGroup); if (group.UniqueId == "AllControls") { this._allControlsMenuItem = itemGroup; } else if (group.UniqueId == "NewControls") { this._newControlsMenuItem = itemGroup; } } // Move "What's New" and "All Controls" to the top of the NavigationView NavigationViewControl.MenuItems.Remove(_allControlsMenuItem); NavigationViewControl.MenuItems.Remove(_newControlsMenuItem); NavigationViewControl.MenuItems.Insert(0, _allControlsMenuItem); NavigationViewControl.MenuItems.Insert(0, _newControlsMenuItem); // Separate the All/New items from the rest of the categories. NavigationViewControl.MenuItems.Insert(2, new Microsoft.UI.Xaml.Controls.NavigationViewItemSeparator()); _newControlsMenuItem.Loaded += OnNewControlsMenuItemLoaded; }
public static NavigationViewItem GetNavigationViewItem(this PageInfo page) { var item = new NavigationViewItem() { Tag = page, Content = page.Title, Icon = (IconElement)page.Icon, }; if (!string.IsNullOrWhiteSpace(page.Tooltip)) { ToolTipService.SetToolTip(item, new ToolTip { Content = page.Tooltip }); } Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(item, page.Title); return(item); }
private void Frame_Navigated(object sender, NavigationEventArgs e) { IsBackEnabled = NavigationService.CanGoBack; if (e.SourcePageType == typeof(SettingsPage)) { Selected = navigationView.SettingsItem as WinUI.NavigationViewItem; return; } var selectedItem = GetSelectedItem(navigationView.MenuItems, e.SourcePageType); if (selectedItem != null) { if (e.SourcePageType.ToString() == "Lawful.Views.MisDatosPage") { FrameGlobal.FrameEstatico = this.Frame; } Selected = selectedItem; } }
private async void Page_Loaded(object sender, RoutedEventArgs e) { ConnHolder.SetConnStr(@"Data Source=78.140.21.18;Initial Catalog=td010119; User Id=tdmerc; Password=tdmerc123;"); var info = await CommandsToWorkWithDB.GetProductsAsync(); Info = info; List <Microsoft.UI.Xaml.Controls.NavigationViewItem> navigationViewItems = new List <Microsoft.UI.Xaml.Controls.NavigationViewItem>(); for (int i = 0; i < info.Count; i++) { navigationViewItems.Add(new Microsoft.UI.Xaml.Controls.NavigationViewItem { Tag = info[i].NameOfPlace, Content = info[i].NameOfPlace }); } Microsoft.UI.Xaml.Controls.NavigationViewItem Places = new Microsoft.UI.Xaml.Controls.NavigationViewItem(); Places.Tag = "Places"; Places.Content = "Площадки"; Places.MenuItemsSource = navigationViewItems; nvSample.MenuItems.Add(Places); }
private void Frame_Navigated(object sender, NavigationEventArgs e) { IsBackEnabled = NavigationService.CanGoBack; //TODO new if (e.SourcePageType == typeof(SettingsPage)) { //Selected = _navigationView.SettingsItem as NavigationViewItem; Selected = _navigationView.SettingsItem as WinUI.NavigationViewItem; return; } //Selected = _navigationView.MenuItems // //.OfType<NavigationViewItem>() // .OfType<WinUI.NavigationViewItem>() // .FirstOrDefault(menuItem => IsMenuItemForPageType(menuItem, e.SourcePageType)); var selectedItem = GetSelectedItem(_navigationView.MenuItems, e.SourcePageType); if (selectedItem != null) { Selected = selectedItem; } }
private void NavigationView_SelectionChanged(Microsoft.UI.Xaml.Controls.NavigationView sender, Microsoft.UI.Xaml.Controls.NavigationViewSelectionChangedEventArgs args) { Microsoft.UI.Xaml.Controls.NavigationViewItem selectedItem = args.SelectedItem as Microsoft.UI.Xaml.Controls.NavigationViewItem; if (selectedItem != null) { switch (selectedItem.Tag) { case "Overview": NavigationFrame.Navigate(typeof(OobeOverview)); break; case "WhatsNew": NavigationFrame.Navigate(typeof(OobeWhatsNew)); break; case "AlwaysOnTop": NavigationFrame.Navigate(typeof(OobeAlwaysOnTop)); break; case "Awake": NavigationFrame.Navigate(typeof(OobeAwake)); break; case "ColorPicker": NavigationFrame.Navigate(typeof(OobeColorPicker)); break; case "FancyZones": NavigationFrame.Navigate(typeof(OobeFancyZones)); break; case "Run": NavigationFrame.Navigate(typeof(OobeRun)); break; case "ImageResizer": NavigationFrame.Navigate(typeof(OobeImageResizer)); break; case "KBM": NavigationFrame.Navigate(typeof(OobeKBM)); break; case "PowerRename": NavigationFrame.Navigate(typeof(OobePowerRename)); break; case "FileExplorer": NavigationFrame.Navigate(typeof(OobeFileExplorer)); break; case "ShortcutGuide": NavigationFrame.Navigate(typeof(OobeShortcutGuide)); break; case "VideoConference": NavigationFrame.Navigate(typeof(OobeVideoConference)); break; case "MouseUtils": NavigationFrame.Navigate(typeof(OobeMouseUtils)); break; } } }
private void NavigationViewLocationItem_RightTapped(object sender, RightTappedRoutedEventArgs e) { Microsoft.UI.Xaml.Controls.NavigationViewItem sidebarItem = (Microsoft.UI.Xaml.Controls.NavigationViewItem)sender; var item = sidebarItem.DataContext as LocationItem; if (item.IsDefaultLocation) { ShowUnpinItem = false; } else { ShowUnpinItem = true; } if (item.Path.Equals(App.AppSettings.RecycleBinPath, StringComparison.OrdinalIgnoreCase)) { RecycleBinItemRightTapped?.Invoke(this, EventArgs.Empty); ShowEmptyRecycleBin = true; ShowUnpinItem = true; ShowProperties = false; } else { ShowEmptyRecycleBin = false; // Set to true if properties should be displayed for pinned folders ShowProperties = false; } // Additional check needed because ShowProperties is set to true if not recycle bin if (item.IsDefaultLocation) { ShowProperties = false; } SideBarItemContextFlyout.ShowAt(sidebarItem, e.GetPosition(sidebarItem)); App.rightClickedItem = item; }
// #region InsertModelPage ============================================== public void InsertModelPage(IRootModel model) { if (model is null) { return; } model.DataRoot.SetLocalizer(Helpers.ResourceExtensions.CoreLocalizer()); var item = navigationView.MenuItems .OfType <WinUI.NavigationViewItem>() .FirstOrDefault(menuItem => (menuItem.Name == "Home")); if (item is null) { return; } var index = navigationView.MenuItems.IndexOf(item) + 2; var navItem = new WinUI.NavigationViewItem { Content = model.TitleName, Icon = new SymbolIcon(Symbol.AllApps), Tag = model }; ToolTipService.SetToolTip(navItem, model.TitleSummary); navItem.Loaded += NavItem_Loaded; navigationView.MenuItems.Insert(index, navItem); //navigationView.SelectedItem = navItem; //Selected = navItem; NavigationService.Navigate(typeof(ModelPage), model); }
private bool IsMenuItemForPageType(WinUI.NavigationViewItem menuItem, Type sourcePageType) { var pageType = menuItem.GetValue(NavHelper.NavigateToProperty) as Type; return(pageType == sourcePageType); }
private static bool CanNavigateModeByShortcut(MUXC.NavigationView navView, MUXC.NavigationViewItem nvi , ApplicationViewModel vm, ViewMode toMode) { return(nvi != null && nvi.IsEnabled && navView.Visibility == Visibility.Visible && !vm.IsAlwaysOnTop && NavCategory.IsValidViewMode(toMode)); }