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;
                }
            }
        }
Exemple #2
0
        /// <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;
            }
        }
Exemple #3
0
        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;
                        }
                    }
                }
            }));
        }
Exemple #7
0
 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;
                     }
                 }
             }
         }
     }
 }
Exemple #8
0
        /// <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;
                }
            };
        }
Exemple #9
0
 public static void SetNavigateTo(HamburgerMenuItem item, Type value)
 {
     item.SetValue(NavigateToProperty, value);
 }
Exemple #10
0
 public static Type GetNavigateTo(HamburgerMenuItem item)
 {
     return((Type)item.GetValue(NavigateToProperty));
 }
Exemple #11
0
 private void NavigateTo(HamburgerMenuItem clickedHamburgerMenuItem)
 {
     this.TryInitializeNavigationModel();
     this.MainContentVM.NavigateToCommand.Execute(clickedHamburgerMenuItem);
     this.TryClosePane();
 }
Exemple #12
0
 private void NavigateToCommand_Execute(HamburgerMenuItem clickedItem)
 {
     this.Header = clickedItem.Label;
     this.NavigationModel.NavigateTo(clickedItem.TargetPageType);
 }