From f8e1b56bf2d176bb4f35c7a7f741f5f94bdd0f11 Mon Sep 17 00:00:00 2001 From: Shalini-Ashokan <102292178+Shalini-Ashokan@users.noreply.github.com> Date: Tue, 24 Mar 2026 18:06:10 +0530 Subject: [PATCH 1/7] Added the test --- .../TestCases.HostApp/Issues/Issue34611.cs | 68 +++++++++++++++++++ .../Tests/Issues/Issue34611.cs | 26 +++++++ 2 files changed, 94 insertions(+) create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs create mode 100644 src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34611.cs diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs b/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs new file mode 100644 index 000000000000..8ae76536a528 --- /dev/null +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs @@ -0,0 +1,68 @@ +namespace Maui.Controls.Sample.Issues; + +[Issue(IssueTracker.Github, 34611, "Entry and Editor BackgroundColor not reset to Null", PlatformAffected.iOS | PlatformAffected.macOS)] +public class Issue34611 : TestContentPage +{ + UITestEntry _entry; + UITestEditor _editor; + + protected override void Init() + { + Title = "Issue34611"; + + _entry = new UITestEntry + { + AutomationId = "TestEntry", + Text = "Entry background should reset", + Placeholder = "Entry" + }; + + _editor = new UITestEditor + { + AutomationId = "TestEditor", + Text = "Editor background should reset", + HeightRequest = 120, + Placeholder = "Editor" + }; + + var applyButton = new Button + { + AutomationId = "ApplyBackgroundColorButton", + Text = "Apply BackgroundColor" + }; + + applyButton.Clicked += (_, _) => + { + _entry.BackgroundColor = Colors.Red; + _editor.BackgroundColor = Colors.LightBlue; + }; + + var resetButton = new Button + { + AutomationId = "ResetToDefaultButton", + Text = "Reset to Default" + }; + + resetButton.Clicked += (_, _) => + { + _entry.BackgroundColor = null; + _editor.BackgroundColor = null; + }; + + Content = new VerticalStackLayout + { + Spacing = 12, + Children = + { + new Label + { + Text = "Apply custom backgrounds, then reset them to null." + }, + _entry, + _editor, + applyButton, + resetButton + } + }; + } +} diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34611.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34611.cs new file mode 100644 index 000000000000..cb685a15bb34 --- /dev/null +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34611.cs @@ -0,0 +1,26 @@ +using NUnit.Framework; +using UITest.Appium; +using UITest.Core; + +namespace Microsoft.Maui.TestCases.Tests.Issues; + +public class Issue34611 : _IssuesUITest +{ + public Issue34611(TestDevice device) : base(device) + { + } + + public override string Issue => "Entry and Editor BackgroundColor not reset to Null"; + + [Test] + [Category(UITestCategories.Entry)] + public void EntryAndEditorBackgroundColorShouldResetToDefaultWhenSetToNull() + { + App.WaitForElement("ApplyBackgroundColorButton"); + App.Tap("ApplyBackgroundColorButton"); + VerifyScreenshot("BackgroundColorApplied"); + + App.Tap("ResetToDefaultButton"); + VerifyScreenshot("BackgroundColorReset"); + } +} From 83efef61384c7c811d43b15815b50b421bf478a0 Mon Sep 17 00:00:00 2001 From: Shalini-Ashokan <102292178+Shalini-Ashokan@users.noreply.github.com> Date: Tue, 24 Mar 2026 18:20:48 +0530 Subject: [PATCH 2/7] Fixed the background null issue --- .../src/Handlers/Editor/EditorHandler.iOS.cs | 25 +++++++++++++++++++ .../src/Handlers/Entry/EntryHandler.iOS.cs | 25 +++++++++++++++++++ .../PublicAPI/net-ios/PublicAPI.Unshipped.txt | 2 ++ 3 files changed, 52 insertions(+) diff --git a/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs b/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs index aaf1a2ec7eda..4f5f58d02845 100644 --- a/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs +++ b/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs @@ -84,6 +84,31 @@ public static void MapText(IEditorHandler handler, IEditor editor) MapFormatting(handler, editor); } + public static void MapBackground(IEditorHandler handler, IEditor editor) + { + if (handler.PlatformView is not MauiTextView platformView) + return; + + if (editor.Background is ImageSourcePaint image) + { + var provider = handler.GetRequiredService(); + + platformView.UpdateBackgroundImageSourceAsync(image.ImageSource, provider) + .FireAndForget(handler); + return; + } + + platformView.RemoveBackgroundLayer(); + + if (editor.Background.IsNullOrEmpty()) + { + platformView.BackgroundColor = null; + return; + } + + platformView.UpdateBackground(editor); + } + public static void MapTextColor(IEditorHandler handler, IEditor editor) => handler.PlatformView?.UpdateTextColor(editor); diff --git a/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs b/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs index 728499247c66..d74c579b948d 100644 --- a/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs +++ b/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs @@ -48,6 +48,31 @@ public static void MapText(IEntryHandler handler, IEntry entry) MapFormatting(handler, entry); } + public static void MapBackground(IEntryHandler handler, IEntry entry) + { + if (handler.PlatformView is not MauiTextField platformView) + return; + + if (entry.Background is ImageSourcePaint image) + { + var provider = handler.GetRequiredService(); + + platformView.UpdateBackgroundImageSourceAsync(image.ImageSource, provider) + .FireAndForget(handler); + return; + } + + platformView.RemoveBackgroundLayer(); + + if (entry.Background.IsNullOrEmpty()) + { + platformView.BackgroundColor = null; + return; + } + + platformView.UpdateBackground(entry); + } + public static void MapTextColor(IEntryHandler handler, IEntry entry) { handler.PlatformView?.UpdateTextColor(entry); diff --git a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt index a68fec2e18fa..7a6abe3d1cbd 100644 --- a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt @@ -1,3 +1,5 @@ #nullable enable override Microsoft.Maui.Handlers.StepperHandler.GetDesiredSize(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size override Microsoft.Maui.Platform.MauiView.DidUpdateFocus(UIKit.UIFocusUpdateContext! context, UIKit.UIFocusAnimationCoordinator! coordinator) -> void +static Microsoft.Maui.Handlers.EditorHandler.MapBackground(Microsoft.Maui.Handlers.IEditorHandler! handler, Microsoft.Maui.IEditor! editor) -> void +static Microsoft.Maui.Handlers.EntryHandler.MapBackground(Microsoft.Maui.Handlers.IEntryHandler! handler, Microsoft.Maui.IEntry! entry) -> void From 29280f2c34a31eb8be71a7ce2534c793ca6b595b Mon Sep 17 00:00:00 2001 From: Shalini-Ashokan <102292178+Shalini-Ashokan@users.noreply.github.com> Date: Tue, 24 Mar 2026 18:34:34 +0530 Subject: [PATCH 3/7] modified the test --- .../TestCases.HostApp/Issues/Issue34611.cs | 1 + .../Tests/Issues/Issue34611.cs | 5 ++--- ...ndColorShouldResetToDefaultWhenSetToNull.png | Bin 0 -> 52318 bytes 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/EntryAndEditorBackgroundColorShouldResetToDefaultWhenSetToNull.png diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs b/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs index 8ae76536a528..231ffcfc0a73 100644 --- a/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs @@ -51,6 +51,7 @@ protected override void Init() Content = new VerticalStackLayout { + Margin = new Thickness(20, 0, 20, 0), Spacing = 12, Children = { diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34611.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34611.cs index cb685a15bb34..dedeb2b26977 100644 --- a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34611.cs +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34611.cs @@ -18,9 +18,8 @@ public void EntryAndEditorBackgroundColorShouldResetToDefaultWhenSetToNull() { App.WaitForElement("ApplyBackgroundColorButton"); App.Tap("ApplyBackgroundColorButton"); - VerifyScreenshot("BackgroundColorApplied"); - + App.WaitForElement("TestEntry"); App.Tap("ResetToDefaultButton"); - VerifyScreenshot("BackgroundColorReset"); + VerifyScreenshot(); } } diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/EntryAndEditorBackgroundColorShouldResetToDefaultWhenSetToNull.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/EntryAndEditorBackgroundColorShouldResetToDefaultWhenSetToNull.png new file mode 100644 index 0000000000000000000000000000000000000000..3bd55f5c93bb5521b75af6fb15f82935c845b247 GIT binary patch literal 52318 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 literal 0 HcmV?d00001 From 9ef6eafcb5311046a953aeb3ef2229c4a32c6e65 Mon Sep 17 00:00:00 2001 From: Shalini-Ashokan <102292178+Shalini-Ashokan@users.noreply.github.com> Date: Wed, 25 Mar 2026 12:12:23 +0530 Subject: [PATCH 4/7] Added the fix --- src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt index a68fec2e18fa..7a6abe3d1cbd 100644 --- a/src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt @@ -1,3 +1,5 @@ #nullable enable override Microsoft.Maui.Handlers.StepperHandler.GetDesiredSize(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size override Microsoft.Maui.Platform.MauiView.DidUpdateFocus(UIKit.UIFocusUpdateContext! context, UIKit.UIFocusAnimationCoordinator! coordinator) -> void +static Microsoft.Maui.Handlers.EditorHandler.MapBackground(Microsoft.Maui.Handlers.IEditorHandler! handler, Microsoft.Maui.IEditor! editor) -> void +static Microsoft.Maui.Handlers.EntryHandler.MapBackground(Microsoft.Maui.Handlers.IEntryHandler! handler, Microsoft.Maui.IEntry! entry) -> void From e0f3084b4d6ed0807f81c7b116d6e81f2fa45e27 Mon Sep 17 00:00:00 2001 From: Shalini-Ashokan <102292178+Shalini-Ashokan@users.noreply.github.com> Date: Fri, 27 Mar 2026 18:49:53 +0530 Subject: [PATCH 5/7] modified the fix --- src/Core/src/Handlers/Editor/EditorHandler.iOS.cs | 4 +--- src/Core/src/Handlers/Entry/EntryHandler.iOS.cs | 8 +++----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs b/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs index 4f5f58d02845..0c446738a18b 100644 --- a/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs +++ b/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs @@ -92,16 +92,14 @@ public static void MapBackground(IEditorHandler handler, IEditor editor) if (editor.Background is ImageSourcePaint image) { var provider = handler.GetRequiredService(); - platformView.UpdateBackgroundImageSourceAsync(image.ImageSource, provider) .FireAndForget(handler); return; } - platformView.RemoveBackgroundLayer(); - if (editor.Background.IsNullOrEmpty()) { + platformView.RemoveBackgroundLayer(); platformView.BackgroundColor = null; return; } diff --git a/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs b/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs index d74c579b948d..43c8ebaf63ab 100644 --- a/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs +++ b/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs @@ -56,16 +56,14 @@ public static void MapBackground(IEntryHandler handler, IEntry entry) if (entry.Background is ImageSourcePaint image) { var provider = handler.GetRequiredService(); - platformView.UpdateBackgroundImageSourceAsync(image.ImageSource, provider) .FireAndForget(handler); return; } - platformView.RemoveBackgroundLayer(); - if (entry.Background.IsNullOrEmpty()) { + platformView.RemoveBackgroundLayer(); platformView.BackgroundColor = null; return; } @@ -237,8 +235,8 @@ void OnEditingChanged(object? sender, EventArgs e) VirtualView.UpdateText(platformView.Text); } - } - + } + void OnEditingEnded(object? sender, EventArgs e) { if (sender is MauiTextField platformView && VirtualView is IEntry virtualView) From a873c7e8762342751118c5d7fa62f5c1a93044fa Mon Sep 17 00:00:00 2001 From: Shalini-Ashokan <102292178+Shalini-Ashokan@users.noreply.github.com> Date: Fri, 27 Mar 2026 18:58:40 +0530 Subject: [PATCH 6/7] modified the fix --- src/Core/src/Handlers/Editor/EditorHandler.iOS.cs | 11 +++++------ src/Core/src/Handlers/Entry/EntryHandler.iOS.cs | 9 +++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs b/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs index 0c446738a18b..7ce02ec4ed6b 100644 --- a/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs +++ b/src/Core/src/Handlers/Editor/EditorHandler.iOS.cs @@ -94,17 +94,16 @@ public static void MapBackground(IEditorHandler handler, IEditor editor) var provider = handler.GetRequiredService(); platformView.UpdateBackgroundImageSourceAsync(image.ImageSource, provider) .FireAndForget(handler); - return; } - - if (editor.Background.IsNullOrEmpty()) + else if (editor.Background.IsNullOrEmpty()) { platformView.RemoveBackgroundLayer(); platformView.BackgroundColor = null; - return; } - - platformView.UpdateBackground(editor); + else + { + platformView.UpdateBackground(editor); + } } public static void MapTextColor(IEditorHandler handler, IEditor editor) => diff --git a/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs b/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs index 43c8ebaf63ab..ec5779150915 100644 --- a/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs +++ b/src/Core/src/Handlers/Entry/EntryHandler.iOS.cs @@ -60,15 +60,16 @@ public static void MapBackground(IEntryHandler handler, IEntry entry) .FireAndForget(handler); return; } - - if (entry.Background.IsNullOrEmpty()) + else if (entry.Background.IsNullOrEmpty()) { platformView.RemoveBackgroundLayer(); platformView.BackgroundColor = null; return; } - - platformView.UpdateBackground(entry); + else + { + platformView.UpdateBackground(entry); + } } public static void MapTextColor(IEntryHandler handler, IEntry entry) From 3264dacad2214107c3124b6bd698f4e0e0e193bf Mon Sep 17 00:00:00 2001 From: Shalini-Ashokan <102292178+Shalini-Ashokan@users.noreply.github.com> Date: Mon, 30 Mar 2026 20:01:25 +0530 Subject: [PATCH 7/7] Modified the test --- src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs b/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs index 231ffcfc0a73..ffebf3646916 100644 --- a/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue34611.cs @@ -3,21 +3,21 @@ [Issue(IssueTracker.Github, 34611, "Entry and Editor BackgroundColor not reset to Null", PlatformAffected.iOS | PlatformAffected.macOS)] public class Issue34611 : TestContentPage { - UITestEntry _entry; - UITestEditor _editor; + Entry _entry; + Editor _editor; protected override void Init() { Title = "Issue34611"; - _entry = new UITestEntry + _entry = new Entry { AutomationId = "TestEntry", Text = "Entry background should reset", Placeholder = "Entry" }; - _editor = new UITestEditor + _editor = new Editor { AutomationId = "TestEditor", Text = "Editor background should reset",