private bool RaiseOptionsItemEvents(object selectedItem) { if (selectedItem is null) { return(false); } if (selectedItem is IHamburgerMenuHeaderItem || selectedItem is IHamburgerMenuSeparatorItem) { return(false); } var itemClickEventArgs = new ItemClickEventArgs(OptionsItemClickEvent, this) { ClickedItem = selectedItem }; this.RaiseEvent(itemClickEventArgs); var hamburgerMenuItemInvokedEventArgs = new HamburgerMenuItemInvokedEventArgs(ItemInvokedEvent, this) { InvokedItem = selectedItem, IsItemOptions = true }; this.RaiseEvent(hamburgerMenuItemInvokedEventArgs); return(!itemClickEventArgs.Handled && !hamburgerMenuItemInvokedEventArgs.Handled); }
private void HamburgerMenuControl_ItemInvoked(object sender, MahApps.Metro.Controls.HamburgerMenuItemInvokedEventArgs args) { var menuItem = (args.InvokedItem as HamburgerMenuItem); Debug.Assert(menuItem != null); Debug.Assert(menuItem.Tag != null); var navItemVm = (menuItem.Tag as NavigationItemViewModel); if (navItemVm == null) { throw new ArgumentException("Null tag value of menu item"); } var regionManager = ServiceLocator.Current.GetInstance <IRegionManager>(); switch (navItemVm.NavigationItem) { case NavigationItems.StartMonitor: if (!TryRestore(NavigationItems.StartMonitor, regionManager)) { regionManager.Regions[MainWindowRegions.MainContentRegion] .RequestNavigate(nameof(StartWorkView)); SaveView(NavigationItems.StartMonitor, regionManager); } break; case NavigationItems.Statistics: if (!TryRestore(NavigationItems.Statistics, regionManager)) { regionManager.Regions[MainWindowRegions.MainContentRegion] .RequestNavigate(nameof(StatisticsView)); SaveView(NavigationItems.Statistics, regionManager); } break; case NavigationItems.Profile: if (!TryRestore(NavigationItems.Profile, regionManager)) { regionManager.Regions[MainWindowRegions.MainContentRegion].RequestNavigate(nameof(ProfileView)); SaveView(NavigationItems.Profile, regionManager); } break; case NavigationItems.Settings: if (!TryRestore(NavigationItems.Settings, regionManager)) { regionManager.Regions[MainWindowRegions.MainContentRegion] .RequestNavigate(nameof(SettingsView)); SaveView(NavigationItems.Settings, regionManager); } break; } }
private void MenuControl_ItemInvoked(object sender, MahApps.Metro.Controls.HamburgerMenuItemInvokedEventArgs e) { this.MenuControl.Content = e.InvokedItem; }