private void NavigationViewDriveItem_RightTapped(object sender, RightTappedRoutedEventArgs e) { Microsoft.UI.Xaml.Controls.NavigationViewItem sidebarItem = (Microsoft.UI.Xaml.Controls.NavigationViewItem)sender; ShowUnpinItem = false; ShowEmptyRecycleBin = false; SideBarItemContextFlyout.ShowAt(sidebarItem, e.GetPosition(sidebarItem)); App.rightClickedItem = sidebarItem.DataContext as DriveItem; }
private void NavigationViewItem_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) { SideBarItemContextFlyout.ShowAt(sidebarItem, e.GetPosition(sidebarItem)); App.rightClickedItem = item; } }
private void AddButtonSuppressSelection_Click(object sender, RoutedEventArgs e) { var newItem = new NavigationViewItem() { Content = "New Menu Item S.S", SelectsOnInvoked = false }; AutomationProperties.SetAutomationId(newItem, "sup-selection-nav-item-" + suppressSelectionNextNumber); m_menuItems.Add(newItem); suppressSelectionNextNumber++; }
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; } else if (group.UniqueId == "CadastroDeFabricantes") { this._cadastroDeFabricantesMenuItem = item; } } // Move "What's New" and "All Controls" to the top of the NavigationView NavigationViewControl.MenuItems.Remove(_allControlsMenuItem); NavigationViewControl.MenuItems.Remove(_newControlsMenuItem); NavigationViewControl.MenuItems.Remove(_cadastroDeFabricantesMenuItem); NavigationViewControl.MenuItems.Insert(0, _allControlsMenuItem); NavigationViewControl.MenuItems.Insert(0, _newControlsMenuItem); NavigationViewControl.MenuItems.Insert(0, _cadastroDeFabricantesMenuItem); // 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 void VerifySingleSelection() { NavigationViewItem menuItem1 = null; NavigationViewItem menuItem2 = null; NavigationView navView = null; RunOnUIThread.Execute(() => { navView = new NavigationView(); MUXControlsTestApp.App.TestContentRoot = navView; menuItem1 = new NavigationViewItem(); menuItem2 = new NavigationViewItem(); menuItem1.Content = "Item 1"; menuItem2.Content = "Item 2"; navView.MenuItems.Add(menuItem1); navView.MenuItems.Add(menuItem2); navView.Width = 1008; // forces the control into Expanded mode so that the menu renders }); IdleSynchronizer.Wait(); RunOnUIThread.Execute(() => { Verify.IsFalse(menuItem1.IsSelected); Verify.IsFalse(menuItem2.IsSelected); Verify.AreEqual(navView.SelectedItem, null); menuItem1.IsSelected = true; }); IdleSynchronizer.Wait(); RunOnUIThread.Execute(() => { Verify.IsTrue(menuItem1.IsSelected); Verify.IsFalse(menuItem2.IsSelected); Verify.AreEqual(navView.SelectedItem, menuItem1); menuItem2.IsSelected = true; }); IdleSynchronizer.Wait(); RunOnUIThread.Execute(() => { Verify.IsTrue(menuItem2.IsSelected); Verify.IsFalse(menuItem1.IsSelected, "MenuItem1 should have been deselected when MenuItem2 was selected"); Verify.AreEqual(navView.SelectedItem, menuItem2); }); }
private async 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)) { var value = new ValueSet { { "Arguments", "RecycleBin" }, { "action", "Query" } }; var response = await App.Connection.SendMessageAsync(value); if (response.Status == Windows.ApplicationModel.AppService.AppServiceResponseStatus.Success && response.Message.TryGetValue("NumItems", out var numItems)) { RecycleBinHasItems = (long)numItems > 0; } else { RecycleBinHasItems = false; } 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; }
private void NavigateFrame(Microsoft.UI.Xaml.Controls.NavigationViewItem item) { switch (item.Name) { case "Home": MainFrameNav.Navigate(typeof(StuHubMainFrame)); break; case "CollegeSubject": MainFrameNav.Navigate(typeof(CollegeSubjectRequest)); break; } }
private void AddTenItems_Click(object sender, RoutedEventArgs e) { var menuItems = NavView.MenuItems; for (int i = 0; i < 10; i++) { m_numberOfItemAdded++; var item = new NavigationViewItem() { Content = "Added Item " + m_numberOfItemAdded }; menuItems.Add(item); } }
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); } } }
public void VerifyClearingItemsCollectionDoesNotCrashWhenItemSelectedOnTopNav() { RunOnUIThread.Execute(() => { var navView = new NavigationView(); navView.PaneDisplayMode = NavigationViewPaneDisplayMode.Top; var navViewItem1 = new NavigationViewItem() { Content = "MenuItem 1", }; var navViewItem2 = new NavigationViewItem() { Content = "MenuItem 2" }; Log.Comment("Set up the MenuItems collection"); navView.MenuItems.Add(navViewItem1); navView.MenuItems.Add(navViewItem2); Content = navView; Content.UpdateLayout(); Log.Comment("Set MenuItem 1 as selected"); navView.SelectedItem = navViewItem1; Verify.AreEqual(navViewItem1, navView.SelectedItem, "MenuItem 1 should have been selected"); // Clearing the MenuItems collection should not crash the app Log.Comment("Clear the MenuItems collection"); navView.MenuItems.Clear(); Log.Comment("Set up the MenuItemsSource collection"); var itemsSource = new ObservableCollection <NavigationViewItem>() { navViewItem1, navViewItem2 }; navView.MenuItemsSource = itemsSource; Content.UpdateLayout(); Log.Comment("Set MenuItem 1 as selected"); navView.SelectedItem = navViewItem1; Verify.AreEqual(navViewItem1, navView.SelectedItem, "MenuItem 1 should have been selected"); // Clearing the MenuItemsSource collection should not crash the app Log.Comment("Clear the MenuItemsSource collection"); itemsSource.Clear(); }); }
private void InvokedMenuItemRelayCommand(Microsoft.UI.Xaml.Controls.NavigationViewItemInvokedEventArgs args) { if (_currentNavigationViewItem != null && (string)_currentNavigationViewItem.Content == (string)args.InvokedItem) { return; } var navigationViewItem = MenuItemCollection.Single(e => (string)e.Content == (string)args.InvokedItem); var pageType = navigationViewItem.Tag as Type; _messenger.Send(new GenericMessage <Type>(pageType), Message.REQUEST_VIEW_NAVIGATION); _currentNavigationViewItem = navigationViewItem; }
public NavigationViewPageDataContext() { this.InitializeComponent(); for (int i = 0; i < 8; i++) { var nvi = new NavigationViewItem(); var itemString = "Item #" + i; nvi.Content = itemString; nvi.DataContext = itemString + "_DataContext"; NavView.MenuItems.Add(nvi); } NavView.SelectedItem = NavView.MenuItems[0]; }
protected async override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); var myMusic = await Windows.Storage.StorageLibrary.GetLibraryAsync(Windows.Storage.KnownLibraryId.Music); IObservableVector <StorageFolder> myMusicFolders = myMusic.Folders; collection = new Collection(); foreach (var fold in myMusicFolders) { var query = fold.CreateFileQueryWithOptions(new Windows.Storage.Search.QueryOptions(Windows.Storage.Search.CommonFileQuery.OrderByTitle, new string[] { ".mp3" })); var list = await query.GetFilesAsync(); foreach (var file in list) { Song song = await CreateSongFromFileAsync(file); collection.Add(song); } } pageParams = new MainPageParams(); pageParams.CentreFrame = CentreFrame; MediaHelper.MediaPlayer = MediaPlayer; //pageParams.NavigationControlView = NavigationControlView; pageParams.collection = collection; List <string> ListofPlaylistName = new List <string>(); var storageFolder = ApplicationData.Current.LocalFolder; var files = await storageFolder.GetFilesAsync(); foreach (var file in files) { ListofPlaylistName.Add(file.Name); } PlayList.UserPlayLists = ListofPlaylistName; PlayList.PlaylistAdded += PlaylistAdded; PlayList.PlaylistDeleted += PlaylistDeleted; foreach (var name in ListofPlaylistName) { Microsoft.UI.Xaml.Controls.NavigationViewItem viewItem = new Microsoft.UI.Xaml.Controls.NavigationViewItem(); viewItem.Content = name; viewItem.Tapped += PlaylistSelected; NavigationControlView.MenuItems.Add(viewItem); } CentreFrame.Navigate(typeof(PivotDisplay), pageParams); }
private void SetHubNav_ItemInvoked(Microsoft.UI.Xaml.Controls.NavigationView sender, Microsoft.UI.Xaml.Controls.NavigationViewItemInvokedEventArgs args) { MUXC.Controls.NavigationViewItem NavItem = SetHubNav.SelectedItem as MUXC.Controls.NavigationViewItem; switch (NavItem.Content.ToString()) { case "About": contentFrame.Navigate(typeof(AboutPage)); break; case "Sync": contentFrame.Navigate(typeof(SyncView)); break; case "Downloads": contentFrame.Navigate(typeof(Downloads)); break; case "Home page": contentFrame.Navigate(typeof(HomePageSettings)); break; case "Permissions": contentFrame.Navigate(typeof(PermissionsSettingsPage)); break; case "Start-up": contentFrame.Navigate(typeof(StartupSettings)); break; case "Reset": contentFrame.Navigate(typeof(ResetSettings)); break; case "Personalization": contentFrame.Navigate(typeof(SettingsPage)); break; case "Web settings": contentFrame.Navigate(typeof(WebSettings)); break; case "Privacy and security": contentFrame.Navigate(typeof(PrivacySettings)); break; } }
public MainPage() { this.InitializeComponent(); MainFrame.Navigated += MainFrame_Navigated; NavigationHelper.PageFrame = MainFrame; NavService.CurrentFrame = MainFrame; foreach (PageInfo page in NavigationHelper.Pages) { var item = new Microsoft.UI.Xaml.Controls.NavigationViewItem() { Content = page.Title, Icon = page.Icon, Visibility = page.Visibility, }; MainNav.MenuItems.Add(item); AutomationProperties.SetName(item, page.Title); } MainNav.SelectedItem = MainNav.MenuItems[0]; }
public void VerifyNavigationViewItemInFooterDoesNotCrash() { RunOnUIThread.Execute(() => { var navView = new NavigationView(); Content = navView; var navViewItem = new NavigationViewItem() { Content = "Footer item" }; navView.PaneFooter = navViewItem; navView.Width = 1008; // forces the control into Expanded mode so that the menu renders Content.UpdateLayout(); // If we don't get here, app has crashed. This verify is just making sure code got run Verify.IsTrue(true); }); }
private void NavigationViewDriveItem_RightTapped(object sender, RightTappedRoutedEventArgs e) { Microsoft.UI.Xaml.Controls.NavigationViewItem sidebarItem = (Microsoft.UI.Xaml.Controls.NavigationViewItem)sender; var item = sidebarItem.DataContext as DriveItem; if (item.Type == DriveType.Removable || item.Type == DriveType.CDRom) { ShowEjectDevice = true; } else { ShowEjectDevice = false; } ShowUnpinItem = false; ShowEmptyRecycleBin = false; ShowProperties = true; SideBarItemContextFlyout.ShowAt(sidebarItem, e.GetPosition(sidebarItem)); App.RightClickedItem = item; }
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; }
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 Render_Menu() { mainNav.MenuItems.Add(new Microsoft.UI.Xaml.Controls.NavigationViewItemSeparator()); var serverCount = new ServerCount(); var numServers = Convert.ToInt32(serverCount.NumberOfServers); var uriImage = "ms-appx:///Assets/pilogo.png"; var uri = new Uri(uriImage); var piIcon = new BitmapIcon(); piIcon.UriSource = uri; for (var i = 1; i <= numServers; i++) { Microsoft.UI.Xaml.Controls.NavigationViewItem newMenu = new Microsoft.UI.Xaml.Controls.NavigationViewItem(); var piholesettingsstore = new PiHoleSettingsStore(i.ToString()); var piholeinfo = piholesettingsstore.Retrive_Settings(); newMenu.Content = piholeinfo.PiHoleServerName; newMenu.Tag = i.ToString(); newMenu.Icon = piIcon; mainNav.MenuItems.Add(newMenu); } }
private void NavView_ItemInvoked( Microsoft.UI.Xaml.Controls.NavigationView sender, Microsoft.UI.Xaml.Controls.NavigationViewItemInvokedEventArgs args) { var invokedMenuItem = args.InvokedItemContainer as Microsoft.UI.Xaml.Controls.NavigationViewItem; if (invokedMenuItem == null || invokedMenuItem == _lastInvokedMenuItem) { return; } var tag = invokedMenuItem.Tag.ToString(); if (_pageMap.ContainsKey(tag)) { var destinationType = _pageMap[tag]; if (!_frame.Navigate(destinationType, null, args.RecommendedNavigationTransitionInfo)) { return; } _lastInvokedMenuItem = invokedMenuItem; } }
public void VerifyMenuItemAndContainerMappingMenuItems() { RunOnUIThread.Execute(() => { var navView = new NavigationView(); MUXControlsTestApp.App.TestContentRoot = navView; var menuItem1 = new NavigationViewItem(); var menuItem2 = new NavigationViewItem(); menuItem1.Content = "Item 1"; menuItem2.Content = "Item 2"; navView.MenuItems.Add(menuItem1); navView.MenuItems.Add(menuItem2); navView.Width = 1008; // forces the control into Expanded mode so that the menu renders MUXControlsTestApp.App.TestContentRoot.UpdateLayout(); // Get container for item var itemContainer = navView.ContainerFromMenuItem(menuItem2) as NavigationViewItem; bool correctContainerReturned = itemContainer != null && itemContainer == menuItem2; Verify.IsTrue(correctContainerReturned, "Correct container should be returned for passed in menu item."); // Get item for container var returnedItem = navView.MenuItemFromContainer(menuItem2) as NavigationViewItem; bool correctItemReturned = returnedItem != null && returnedItem == menuItem2; Verify.IsTrue(correctItemReturned, "Correct item should be returned for passed in container."); // Try to get an item that is not in the NavigationView NavigationViewItem menuItem3 = new NavigationViewItem(); menuItem3.Content = "Item 3"; var returnedItemForNonExistentContainer = navView.MenuItemFromContainer(menuItem3); Verify.IsTrue(returnedItemForNonExistentContainer == null, "Returned item should be null."); MUXControlsTestApp.App.TestContentRoot = null; }); }
public void VerifySettingsItemToolTip() { NavigationView navView = null; NavigationViewItem settingsItem = null; RunOnUIThread.Execute(() => { navView = new NavigationView(); navView.IsSettingsVisible = true; navView.IsPaneOpen = true; navView.PaneDisplayMode = NavigationViewPaneDisplayMode.Left; MUXControlsTestApp.App.TestContentRoot = navView; }); IdleSynchronizer.Wait(); RunOnUIThread.Execute(() => { settingsItem = (NavigationViewItem)navView.SettingsItem; var toolTip = ToolTipService.GetToolTip(settingsItem); Verify.IsNull(toolTip, "Verify tooltip is disabled when pane is open"); navView.IsPaneOpen = false; }); IdleSynchronizer.Wait(); RunOnUIThread.Execute(() => { var toolTip = ToolTipService.GetToolTip(settingsItem); Verify.IsNotNull(toolTip, "Verify tooltip is enabled when pane is closed"); MUXControlsTestApp.App.TestContentRoot = null; }); }
public void VerifySingleSelection() { RunOnUIThread.Execute(() => { var navView = new NavigationView(); Content = navView; var menuItem1 = new NavigationViewItem(); var menuItem2 = new NavigationViewItem(); menuItem1.Content = "Item 1"; menuItem2.Content = "Item 2"; navView.MenuItems.Add(menuItem1); navView.MenuItems.Add(menuItem2); navView.Width = 1008; // forces the control into Expanded mode so that the menu renders Content.UpdateLayout(); Verify.IsFalse(menuItem1.IsSelected); Verify.IsFalse(menuItem2.IsSelected); Verify.AreEqual(navView.SelectedItem, null); menuItem1.IsSelected = true; Content.UpdateLayout(); Verify.IsTrue(menuItem1.IsSelected); Verify.IsFalse(menuItem2.IsSelected); Verify.AreEqual(navView.SelectedItem, menuItem1); menuItem2.IsSelected = true; Content.UpdateLayout(); Verify.IsTrue(menuItem2.IsSelected); Verify.IsFalse(menuItem1.IsSelected, "MenuItem1 should have been deselected when MenuItem2 was selected"); Verify.AreEqual(navView.SelectedItem, menuItem2); }); }
private void OptionalRelayCommandHandler(ItemClickEventArgs args) { if (_currentNavigationViewItem != null && (string)_currentNavigationViewItem.Content == (string)args.ClickedItem) { return; } //unselect all items in menuItemCollection var selectedMenuItem = ((IList <Microsoft.UI.Xaml.Controls.NavigationViewItem>)MainNavigationView.MenuItemsSource).Single(e => e.IsSelected); selectedMenuItem.IsSelected = false; var paneFooterCollection = ((Microsoft.UI.Xaml.Controls.NavigationViewList)MainNavigationView.PaneFooter).ItemsSource as IList <Microsoft.UI.Xaml.Controls.NavigationViewItem>; var navigationViewItem = paneFooterCollection.Single(e => (string)e.Content == (string)args.ClickedItem); navigationViewItem.IsSelected = true; var pageType = navigationViewItem.Tag as Type; _messenger.Send(new GenericMessage <Type>(pageType), Message.REQUEST_VIEW_NAVIGATION); _currentNavigationViewItem = navigationViewItem; }
// Click and SelectionChange would have an container. This function verify that Content == container.Content // If content is null, Container.tag is returned. private string GetAndVerifyTheContainer(object content, NavigationViewItem container) { if (content == null) { if (container.Content != null) { return("container's content should be null but it is " + container.Content.ToString()); } return(container.Tag != null?container.Tag.ToString() : "container should have tag property since content is null"); } var contentString = content.ToString(); var containerString = container.Content.ToString(); if (contentString.Equals(containerString)) { return(contentString); } else { return(string.Format("container's content:{0} doesn't match with content:{1}", containerString, contentString)); } }
public void VerifySingleSelection() { string navItemPresenter1CurrentState = string.Empty; string navItemPresenter2CurrentState = string.Empty; NavigationView navView = null; NavigationViewItem menuItem1 = null; NavigationViewItem menuItem2 = null; RunOnUIThread.Execute(() => { navView = new NavigationView(); Content = navView; menuItem1 = new NavigationViewItem(); menuItem2 = new NavigationViewItem(); menuItem1.Content = "Item 1"; menuItem2.Content = "Item 2"; navView.MenuItems.Add(menuItem1); navView.MenuItems.Add(menuItem2); navView.Width = 1008; // forces the control into Expanded mode so that the menu renders Content.UpdateLayout(); var menuItemLayoutRoot = VisualTreeHelper.GetChild(menuItem1, 0) as FrameworkElement; var navItemPresenter = VisualTreeHelper.GetChild(menuItemLayoutRoot, 0) as FrameworkElement; var navItemPresenterLayoutRoot = VisualTreeHelper.GetChild(navItemPresenter, 0) as FrameworkElement; var statesGroups = VisualStateManager.GetVisualStateGroups(navItemPresenterLayoutRoot); foreach (var visualStateGroup in statesGroups) { Log.Comment($"VisualStateGroup1: Name={visualStateGroup.Name}, CurrentState={visualStateGroup.CurrentState.Name}"); visualStateGroup.CurrentStateChanged += (object sender, VisualStateChangedEventArgs e) => { Log.Comment($"VisualStateChangedEventArgs1: Name={e.Control.Name}, OldState={e.OldState.Name}, NewState={e.NewState.Name}"); navItemPresenter1CurrentState = e.NewState.Name; }; } menuItemLayoutRoot = VisualTreeHelper.GetChild(menuItem2, 0) as FrameworkElement; navItemPresenter = VisualTreeHelper.GetChild(menuItemLayoutRoot, 0) as FrameworkElement; navItemPresenterLayoutRoot = VisualTreeHelper.GetChild(navItemPresenter, 0) as FrameworkElement; statesGroups = VisualStateManager.GetVisualStateGroups(navItemPresenterLayoutRoot); foreach (var visualStateGroup in statesGroups) { Log.Comment($"VisualStateGroup2: Name={visualStateGroup.Name}, CurrentState={visualStateGroup.CurrentState.Name}"); visualStateGroup.CurrentStateChanged += (object sender, VisualStateChangedEventArgs e) => { Log.Comment($"VisualStateChangedEventArgs2: Name={e.Control.Name}, OldState={e.OldState.Name}, NewState={e.NewState.Name}"); navItemPresenter2CurrentState = e.NewState.Name; }; } Verify.IsFalse(menuItem1.IsSelected); Verify.IsFalse(menuItem2.IsSelected); Verify.AreEqual(null, navView.SelectedItem); menuItem1.IsSelected = true; Content.UpdateLayout(); }); IdleSynchronizer.Wait(); RunOnUIThread.Execute(() => { Verify.AreEqual("Selected", navItemPresenter1CurrentState); Verify.AreEqual(string.Empty, navItemPresenter2CurrentState); Verify.IsTrue(menuItem1.IsSelected); Verify.IsFalse(menuItem2.IsSelected); Verify.AreEqual(menuItem1, navView.SelectedItem); menuItem2.IsSelected = true; Content.UpdateLayout(); }); IdleSynchronizer.Wait(); RunOnUIThread.Execute(() => { Verify.AreEqual("Normal", navItemPresenter1CurrentState); Verify.AreEqual("Selected", navItemPresenter2CurrentState); Verify.IsTrue(menuItem2.IsSelected); Verify.IsFalse(menuItem1.IsSelected, "MenuItem1 should have been deselected when MenuItem2 was selected"); Verify.AreEqual(menuItem2, navView.SelectedItem); }); }
private void modificarItemNavigationSeleccionat(int pos) { Microsoft.UI.Xaml.Controls.NavigationViewItem item = (Microsoft.UI.Xaml.Controls.NavigationViewItem)nvwBarraNavegacio.MenuItems[pos]; item.FontWeight = FontWeights.Bold; }
private void OnItemInvoked(NavigationViewItem sender, object args) { }
public void VerifyExpandCollapseChevronVisibility() { NavigationView navView = null; NavigationViewItem parentItem = null; ObservableCollection <string> children = null; RunOnUIThread.Execute(() => { navView = new NavigationView(); Content = navView; children = new ObservableCollection <string>(); parentItem = new NavigationViewItem() { Content = "ParentItem", MenuItemsSource = children }; navView.MenuItems.Add(parentItem); navView.Width = 1008; // forces the control into Expanded mode so that the menu renders Content.UpdateLayout(); UIElement chevronUIElement = (UIElement)VisualTreeUtils.FindVisualChildByName(parentItem, "ExpandCollapseChevron"); Verify.IsTrue(chevronUIElement.Visibility == Visibility.Collapsed, "chevron should have been collapsed as NavViewItem has no children"); // Add a child to parentItem through the MenuItemsSource API. This should make the chevron visible. children.Add("Child 1"); Content.UpdateLayout(); Verify.IsTrue(chevronUIElement.Visibility == Visibility.Visible, "chevron should have been visible as NavViewItem now has children"); // Remove all children of parentItem. This should collapse the chevron children.Clear(); Content.UpdateLayout(); Verify.IsTrue(chevronUIElement.Visibility == Visibility.Collapsed, "chevron should have been collapsed as NavViewItem no longer has children"); // Add a child to parentItem and set the MenuItemsSource as null. This should collapse the chevron children.Add("Child 2"); Content.UpdateLayout(); // we are doing this so that when we set MenuItemsSource as null, we can check if the chevron's visibility really changes Verify.IsTrue(chevronUIElement.Visibility == Visibility.Visible, "chevron should have been visible as NavViewItem now has children"); parentItem.MenuItemsSource = null; Content.UpdateLayout(); Verify.IsTrue(chevronUIElement.Visibility == Visibility.Collapsed, "chevron should have been collapsed as NavViewItem no longer has children"); // Add a child to parentItem through the MenuItems API. This should make the chevron visible. parentItem.MenuItems.Add(new NavigationViewItem() { Content = "Child 3" }); Content.UpdateLayout(); Verify.IsTrue(chevronUIElement.Visibility == Visibility.Visible, "chevron should have been visible as NavViewItem now has children"); // Remove all children of parentItem. This should collapse the chevron parentItem.MenuItems.Clear(); Content.UpdateLayout(); Verify.IsTrue(chevronUIElement.Visibility == Visibility.Collapsed, "chevron should have been collapsed as NavViewItem no longer has children"); }); }