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); } } } }
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); }