Пример #1
0
        protected IEnumerable <WNavigationViewItem> GetNavigationViewItems(MauiNavigationView navigationView)
        {
            if (navigationView.MenuItems?.Count > 0)
            {
                foreach (var menuItem in navigationView.MenuItems)
                {
                    if (menuItem is WNavigationViewItem item)
                    {
                        yield return(item);
                    }
                }
            }
            else if (navigationView.MenuItemsSource != null && navigationView.TopNavMenuItemsHost != null)
            {
                var itemCount = navigationView.TopNavMenuItemsHost.ItemsSourceView.Count;
                for (int i = 0; i < itemCount; i++)
                {
                    UI.Xaml.UIElement uIElement = navigationView.TopNavMenuItemsHost.TryGetElement(i);

                    if (uIElement is WNavigationViewItem item)
                    {
                        yield return(item);
                    }
                }
            }
        }
Пример #2
0
        protected override FrameworkElement CreatePlatformElement()
        {
            var platformView = new MauiNavigationView()
            {
                PaneDisplayMode           = NavigationViewPaneDisplayMode.Top,
                IsBackButtonVisible       = NavigationViewBackButtonVisible.Collapsed,
                IsSettingsVisible         = false,
                IsPaneToggleButtonVisible = false,
                MenuItemTemplate          = (UI.Xaml.DataTemplate)WApp.Current.Resources["TabBarNavigationViewMenuItem"],
                MenuItemsSource           = _mainLevelTabs
            };

            _mauiNavigationView = platformView;
            platformView.SetApplicationResource("NavigationViewMinimalHeaderMargin", null);
            platformView.SetApplicationResource("NavigationViewHeaderMargin", null);
            platformView.SetApplicationResource("NavigationViewMinimalContentGridBorderThickness", null);

            return(platformView);
        }