Ejemplo n.º 1
1
        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++;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        private void Frame_Navigated(object sender, NavigationEventArgs e)
        {
            IsBackEnabled = NavigationService.CanGoBack;
            var selectedItem = GetSelectedItem(navigationView.MenuItems, e.SourcePageType);

            if (selectedItem != null)
            {
                Selected = selectedItem;
            }
        }
Ejemplo n.º 4
0
        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);
                    }
                });
            }
        }
Ejemplo n.º 5
0
 public static PageInfo GetFromNavigationViewItem(NavigationViewItem navItem)
 {
     if (navItem.Tag is PageInfo pageInfo)
     {
         return(pageInfo);
     }
     else
     {
         return(null);
     }
 }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
 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));
 }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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);
                }
            }
        }
Ejemplo n.º 12
0
        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;
            }
        }
Ejemplo n.º 13
0
 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);
     }
 }
Ejemplo n.º 14
0
        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);
            }
        }
Ejemplo n.º 15
0
        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;
        }
Ejemplo n.º 16
0
        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;
        }
Ejemplo n.º 19
0
        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);
        }
Ejemplo n.º 20
0
        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;
            }
        }
Ejemplo n.º 21
0
        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;
            }
        }
Ejemplo n.º 23
0
        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;
                }
            }
        }
Ejemplo n.º 24
0
        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;
        }
Ejemplo n.º 25
0
        //
        #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);
        }
Ejemplo n.º 26
0
        private bool IsMenuItemForPageType(WinUI.NavigationViewItem menuItem, Type sourcePageType)
        {
            var pageType = menuItem.GetValue(NavHelper.NavigateToProperty) as Type;

            return(pageType == sourcePageType);
        }
Ejemplo n.º 27
0
 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));
 }