private void HamburgerMenuItem_MouseDoubleClick(object sender, MouseButtonEventArgs e) { HamburgerMenuItem item = sender as HamburgerMenuItem; if (item != null) { switch (item.Text) { case "Add": //https://stackoverflow.com/questions/777843/wpf-frame-source-refreshing-the-loaded-page //this.ContentFrame.Navigate(new Uri("/PageAdd.xaml", UriKind.RelativeOrAbsolute)); this.ContentFrame.Source = new System.Uri("PageAdd.xaml", UriKind.Relative); break; case "Manage": //this.ContentFrame.NavigationService.Navigate("PageManage.xaml"); this.ContentFrame.Source = new System.Uri("PageManage.xaml", UriKind.Relative); break; case "Report": //this.ContentFrame.NavigationService.Navigate("PageReport.xaml"); this.ContentFrame.Source = new System.Uri("PageReport.xaml", UriKind.Relative); break; } } }
/// <summary> /// hamburgerMenuItem选择事件 /// </summary> /// <param name="hamburgerMenuItem">HamburgerMenuItem</param> public void HamburgerMenu_ItemSelect(HamburgerMenuItem hamburgerMenuItem) { // 遍历,将选中Rectangle隐藏 foreach (var gameDataHamburgerMenuItem in _gameDataHamburgerMenuItem) { gameDataHamburgerMenuItem.Color = new SolidColorBrush(Colors.White); gameDataHamburgerMenuItem.Selected = Visibility.Collapsed; } foreach (var settingAndAboutHamburgerMenuItem in _settingAndAboutHamburgerMenuItem) { settingAndAboutHamburgerMenuItem.Color = new SolidColorBrush(Colors.White); settingAndAboutHamburgerMenuItem.Selected = Visibility.Collapsed; } hamburgerMenuItem.Selected = Visibility.Visible; hamburgerMenuItem.Color = new SolidColorBrush(Global.AccentColor); if (hamburgerMenuItem.NavigatePage != null) { RootFrame.Navigate(hamburgerMenuItem.NavigatePage); Global.PageStack.Push(new PageStackItem { TypeName = hamburgerMenuItem.NavigatePage }); Global.FrameTitle.Text = hamburgerMenuItem.Text; } }
public void ShowScreen(HamburgerMenuItem menuItem) { switch ((string)menuItem.Tag) { case "1": ActivateItem(new Screen1ViewModel()); break; case "2": ActivateItem(new Screen2ViewModel()); break; default: break; } }
private void NavigationViewItemSelectionChanged(Microsoft.UI.Xaml.Controls.NavigationView sender, Microsoft.UI.Xaml.Controls.NavigationViewSelectionChangedEventArgs args) { HamburgerMenuItem item = args.SelectedItem as HamburgerMenuItem; if (item.DestinationPage != null) { frameView.Navigate(item.DestinationPage); } else { item.DestinationAction?.Invoke(); } }
public void UpdateSelectedItem <T>(object item) { if (item != null) { HamburgerMenuItem selectedMenuItem = MainWindowViewModel.Instance.HamburgerMenuSelectedItem; if (selectedMenuItem != null) { HamburgerMenuEditorViewItem editorViewItem = selectedMenuItem as HamburgerMenuEditorViewItem; if (editorViewItem != null) { if (editorViewItem.View != null) { HamburgerMenuEditorView editorView = editorViewItem.View as HamburgerMenuEditorView; //editorView.PropertyGrid.ItemsSource = PropertyHelper.Instance.GetProperties(item); } } } } }
public void SwitchTab(Type tabType) { Dispatcher.BeginInvoke((Action)(() => { var itemsSource = MenuControl.ItemsSource as HamburgerMenuItemCollection; if (itemsSource != null) { for (int i = 0; i < itemsSource.Count; i++) { HamburgerMenuItem item = itemsSource[i]; if (tabType.IsAssignableFrom(item.Tag.GetType())) { MenuControl.SelectedIndex = i; break; } } } })); }
protected override void OnMouseUp(MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Left) { DependencyObject obj = this.ContainerFromElement((Visual)e.OriginalSource); if (obj != null) { FrameworkElement element = obj as FrameworkElement; if (element != null) { ListBoxItem item = element as ListBoxItem; if (item != null) { HamburgerMenuItem menuItem = item.Content as HamburgerMenuItem; if (menuItem != null && this.Items.Contains(menuItem)) { this.SelectedItem = menuItem; } } } } } }
/// <summary> /// The Adapt. /// </summary> /// <param name="region">The region <see cref="IRegion"/>.</param> /// <param name="regionTarget">The regionTarget <see cref="HamburgerMenu"/>.</param> protected override void Adapt(IRegion region, HamburgerMenu regionTarget) { region.ActiveViews.CollectionChanged += (s, e) => { switch (e.Action) { case System.Collections.Specialized.NotifyCollectionChangedAction.Add: foreach (var t in e.NewItems) { var tb = new HamburgerMenuItem(); var iv = ((UserControl)e.NewItems[0]).DataContext as IPlugin; tb.Label = iv.Header; // tb.DataContext = iv; tb.Content = ((UserControl)e.NewItems[0]); regionTarget.Items.Insert(regionTarget.Items.Count, tb); regionTarget.SelectedIndex = regionTarget.Items.Count - 1; } break; case System.Collections.Specialized.NotifyCollectionChangedAction.Remove: foreach (var t in e.OldItems) { for (var i = 0; i < regionTarget.Items.Count; i++) { var tab = (HamburgerMenuItem)regionTarget.Items[i]; if (tab.Label == e.OldItems[0]) { regionTarget.Items.Remove(tab); } } regionTarget.SelectedIndex = regionTarget.Items.Count - 1; } break; } }; }
public static void SetNavigateTo(HamburgerMenuItem item, Type value) { item.SetValue(NavigateToProperty, value); }
public static Type GetNavigateTo(HamburgerMenuItem item) { return((Type)item.GetValue(NavigateToProperty)); }
private void NavigateTo(HamburgerMenuItem clickedHamburgerMenuItem) { this.TryInitializeNavigationModel(); this.MainContentVM.NavigateToCommand.Execute(clickedHamburgerMenuItem); this.TryClosePane(); }
private void NavigateToCommand_Execute(HamburgerMenuItem clickedItem) { this.Header = clickedItem.Label; this.NavigationModel.NavigateTo(clickedItem.TargetPageType); }