public static void UpdateBarBackground(this MauiToolbar nativeToolbar, Toolbar toolbar) { var barBackground = toolbar.BarBackground?.ToBrush() ?? toolbar.BarBackgroundColor?.ToPlatform(); nativeToolbar.Background = barBackground; }
public static void UpdateToolbarDynamicOverflowEnabled(this MauiToolbar nativeToolbar, Toolbar toolbar) { if (nativeToolbar.CommandBar == null) return; nativeToolbar.CommandBar.IsDynamicOverflowEnabled = toolbar.DynamicOverflowEnabled; }
public static void UpdateBackButton(this MauiToolbar nativeToolbar, Toolbar toolbar) { nativeToolbar .IsBackButtonVisible = (toolbar.BackButtonVisible) ? NavigationViewBackButtonVisible.Visible : NavigationViewBackButtonVisible.Collapsed; toolbar.Handler?.UpdateValue(nameof(Toolbar.BarBackground)); }
MauiToolbar GetPlatformToolbar(IElementHandler handler) { var navView = (RootNavigationView)GetMauiNavigationView(handler.MauiContext); MauiToolbar windowHeader = (MauiToolbar)navView.Header; return(windowHeader); }
public static void UpdateBarTextColor(this MauiToolbar nativeToolbar, Toolbar toolbar) { if (toolbar.BarTextColor != null) { nativeToolbar.TitleColor = toolbar.BarTextColor.ToPlatform(); } }
public static void UpdateToolbarDynamicOverflowEnabled(this MauiToolbar platformToolbar, Toolbar toolbar) { if (platformToolbar.CommandBar == null) { return; } platformToolbar.CommandBar.IsDynamicOverflowEnabled = toolbar.DynamicOverflowEnabled; }
public static void UpdateBackButton(this MauiToolbar platformToolbar, Toolbar toolbar) { platformToolbar.IsBackEnabled = toolbar.BackButtonEnabled && toolbar.BackButtonVisible; platformToolbar .IsBackButtonVisible = (toolbar.BackButtonVisible) ? NavigationViewBackButtonVisible.Visible : NavigationViewBackButtonVisible.Collapsed; toolbar.Handler?.UpdateValue(nameof(Toolbar.BarBackground)); }
public static void UpdateTitleIcon(this MauiToolbar nativeToolbar, Toolbar toolbar) { _ = toolbar?.Handler?.MauiContext ?? throw new ArgumentNullException(nameof(toolbar.Handler.MauiContext)); toolbar.TitleIcon.LoadImage(toolbar.Handler.MauiContext, (result) => { if (result != null) { nativeToolbar.TitleIconImageSource = result.Value; toolbar.Handler.UpdateValue(nameof(Toolbar.IconColor)); } else nativeToolbar.TitleIconImageSource = null; }); }
public static void UpdateTitleView(this MauiToolbar platformToolbar, Toolbar toolbar) { _ = toolbar.Handler?.MauiContext ?? throw new ArgumentNullException(nameof(toolbar.Handler.MauiContext)); platformToolbar.TitleView = toolbar.TitleView?.ToPlatform(toolbar.Handler.MauiContext); if (toolbar.TitleView is IView view) { platformToolbar.TitleViewMargin = view.Margin.ToPlatform(); } else { platformToolbar.TitleViewMargin = new UI.Xaml.Thickness(0); } }
public bool ToolbarItemsMatch( IElementHandler handler, params ToolbarItem[] toolbarItems) { var navView = (RootNavigationView)GetMauiNavigationView(handler.MauiContext); MauiToolbar windowHeader = (MauiToolbar)navView.Header; Assert.Equal(toolbarItems.Length, windowHeader.CommandBar.PrimaryCommands.Count); for (var i = 0; i < toolbarItems.Length; i++) { ToolbarItem toolbarItem = toolbarItems[i]; var primaryCommand = ((WAppBarButton)windowHeader.CommandBar.PrimaryCommands[i]); Assert.Equal(toolbarItem, primaryCommand.DataContext); } return(true); }
public static void UpdateIconColor(this MauiToolbar nativeToolbar, Toolbar toolbar) { // This property wasn't wired up in Controls }
public static void UpdateTitle(this MauiToolbar nativeToolbar, Toolbar toolbar) { nativeToolbar.Title = toolbar.Title; }
public static void UpdateBarBackground(this MauiToolbar nativeToolbar, Toolbar toolbar) { nativeToolbar.Background = toolbar.BarBackground?.ToBrush(); }
public static void UpdateTitleView(this MauiToolbar nativeToolbar, Toolbar toolbar) { _ = toolbar.Handler?.MauiContext ?? throw new ArgumentNullException(nameof(toolbar.Handler.MauiContext)); nativeToolbar.TitleView = toolbar.TitleView?.ToPlatform(toolbar.Handler.MauiContext); }
public static void UpdateIsVisible(this MauiToolbar nativeToolbar, Toolbar toolbar) { nativeToolbar.Visibility = (toolbar.IsVisible) ? UI.Xaml.Visibility.Visible : UI.Xaml.Visibility.Collapsed; }
public async Task MauiToolbarControlVisibilitiesToggle(string controlName) { await InvokeOnMainThreadAsync(async() => { MauiToolbar mauiToolbar = new MauiToolbar(); var toolbarContent = (DependencyObject)mauiToolbar.Content; var control = toolbarContent.GetDescendantByName <UIElement>(controlName); Assert.Equal(WVisibility.Collapsed, control.Visibility); switch (controlName) { case "titleIcon": var tcs = new TaskCompletionSource <bool>(); var fileImageSource = new Controls.FileImageSource() { File = "black.png" }; fileImageSource.LoadImage(MauiContext, (result) => { mauiToolbar.TitleIconImageSource = result.Value; tcs.SetResult(true); }); await tcs.Task; Assert.Equal(WVisibility.Visible, control.Visibility); mauiToolbar.TitleIconImageSource = null; Assert.Equal(WVisibility.Collapsed, control.Visibility); break; case "textBlockBorder": mauiToolbar.Title = "text"; Assert.Equal(WVisibility.Visible, control.Visibility); mauiToolbar.Title = ""; Assert.Equal(WVisibility.Collapsed, control.Visibility); break; case "menuContent": mauiToolbar.SetMenuBar(new MenuBar() { Items = { new MenuBarItem() } }); Assert.Equal(WVisibility.Visible, control.Visibility); mauiToolbar.SetMenuBar(new MenuBar()); Assert.Equal(WVisibility.Collapsed, control.Visibility); mauiToolbar.SetMenuBar(new MenuBar() { Items = { new MenuBarItem() } }); Assert.Equal(WVisibility.Visible, control.Visibility); mauiToolbar.SetMenuBar(null); Assert.Equal(WVisibility.Collapsed, control.Visibility); break; case "titleView": mauiToolbar.TitleView = "text"; Assert.Equal(WVisibility.Visible, control.Visibility); mauiToolbar.TitleView = null; Assert.Equal(WVisibility.Collapsed, control.Visibility); break; } }); }
public static void UpdateBarBackgroundColor(this MauiToolbar nativeToolbar, Toolbar toolbar) { UpdateBarBackground(nativeToolbar, toolbar); }
public static void UpdateBarTextColor(this MauiToolbar platformToolbar, Toolbar toolbar) { platformToolbar.SetBarTextColor(toolbar.BarTextColor?.ToPlatform()); }
public static void UpdateBarBackground(this MauiToolbar platformToolbar, Toolbar toolbar) { platformToolbar.Background = toolbar.BarBackground?.ToBrush(); }
public static void UpdateTitle(this MauiToolbar platformToolbar, Toolbar toolbar) { platformToolbar.Title = toolbar.Title; }
public static void UpdateIconColor(this MauiToolbar platformToolbar, Toolbar toolbar) { platformToolbar.IconColor = toolbar.IconColor; }