diff --git a/src/Controls/src/Core/Toolbar/Toolbar.Windows.cs b/src/Controls/src/Core/Toolbar/Toolbar.Windows.cs index 272974e9d402..079ab85582d8 100644 --- a/src/Controls/src/Core/Toolbar/Toolbar.Windows.cs +++ b/src/Controls/src/Core/Toolbar/Toolbar.Windows.cs @@ -65,13 +65,12 @@ internal void UpdateMenu() button.SetAutomationPropertiesName(item); button.SetAutomationPropertiesAccessibilityView(item); button.SetAutomationPropertiesHelpText(item); - button.UpdateTextColor(BarTextColor); - button.SetAutomationPropertiesLabeledBy(item, null); ToolbarItemOrder order = item.Order == ToolbarItemOrder.Default ? ToolbarItemOrder.Primary : item.Order; if (order == ToolbarItemOrder.Primary) { + button.UpdateTextColor(BarTextColor); commandBar.PrimaryCommands.Add(button); } else diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue20177.cs b/src/Controls/tests/TestCases.HostApp/Issues/Issue20177.cs new file mode 100644 index 000000000000..fae9948e3718 --- /dev/null +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue20177.cs @@ -0,0 +1,58 @@ +namespace Maui.Controls.Sample.Issues; + +[Issue(IssueTracker.Github, 20177, "Shell TitleColor changes the secondary ToolbarItems TextColor", PlatformAffected.UWP)] +public class Issue20177 : TestShell +{ + protected override void Init() + { + Shell.SetTitleColor(this, Colors.White); + AddContentPage(CreateContentPage()); + } + + ContentPage CreateContentPage() + { + var page = new ContentPage(); + PopulateToolBarItems(page); + page.Content = CreateGrid(); + return page; + } + + Grid CreateGrid() + { + Grid grid = new Grid() + { + new Label() + { + HorizontalOptions = LayoutOptions.Center, + VerticalOptions= LayoutOptions.Center, + Text = "Secondary ToolBar Items should not use BarTextColor", + AutomationId = "DescriptionLabel" + } + }; + return grid; + } + + void PopulateToolBarItems(ContentPage page) + { + page.ToolbarItems.Add(new() + { + Text = "Menu item", + Order = ToolbarItemOrder.Primary + }); + page.ToolbarItems.Add(new() + { + Text = "Menu item 1", + Order = ToolbarItemOrder.Secondary + }); + page.ToolbarItems.Add(new() + { + Text = "Menu item 2", + Order = ToolbarItemOrder.Secondary + }); + page.ToolbarItems.Add(new() + { + Text = "Menu item 3", + Order = ToolbarItemOrder.Secondary + }); + } +} \ No newline at end of file diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue20177.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue20177.cs new file mode 100644 index 000000000000..62b9bbd1ca7d --- /dev/null +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue20177.cs @@ -0,0 +1,21 @@ +#if WINDOWS // Issue can be repro on windows only +using NUnit.Framework; +using UITest.Appium; +using UITest.Core; + +namespace Microsoft.Maui.TestCases.Tests.Issues; +internal class Issue20177 : _IssuesUITest +{ + public Issue20177(TestDevice device) : base(device) { } + + public override string Issue => "Shell TitleColor changes the secondary ToolbarItems TextColor"; + + [Test] + [Category(UITestCategories.ToolbarItem)] + public void ToolBarSecondayItemsShouldNotUseBarTextColor() + { + App.ToggleSecondaryToolbarItems(); + VerifyScreenshot(); + } +} +#endif \ No newline at end of file diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/ToolBarSecondayItemsShouldNotUseBarTextColor.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/ToolBarSecondayItemsShouldNotUseBarTextColor.png new file mode 100644 index 000000000000..c300f2bc82a7 Binary files /dev/null and b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/ToolBarSecondayItemsShouldNotUseBarTextColor.png differ