[Windows] - Fix Visual State Issue with Picker TextColor After Navigation#28746
Merged
PureWeen merged 2 commits intodotnet:inflight/currentfrom Apr 8, 2025
Merged
Conversation
Contributor
|
Hey there @@prakashKannanSf3972! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR addresses a visual state issue with the Picker control on Windows by ensuring that text color updates are properly reflected after page navigation or re-entry.
- Added a call to RefreshThemeResources in the PickerExtensions update method.
- Introduced automated tests in TestCases.Shared.Tests and TestCases.HostApp to verify the fix.
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/Core/src/Platform/Windows/PickerExtensions.cs | Updated UpdateTextColor to refresh theme resources after TextColor changes. |
| src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue28536.cs | Added an automated test to verify Picker visual state consistency after navigation. |
| src/Controls/tests/TestCases.HostApp/Issues/Issue28536.cs | Added a host application page for testing the navigation scenario involving the Picker visual state update. |
| nativeComboBox.Foreground = platformBrush; | ||
| } | ||
|
|
||
| nativeComboBox.RefreshThemeResources(); |
There was a problem hiding this comment.
Consider adding a code comment to explain why RefreshThemeResources is being called here, to aid future maintainers in understanding its necessity for updating the theme resources after a TextColor change.
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
c05aff5 to
c3d7dd2
Compare
c3d7dd2 to
5b2afee
Compare
jsuarezruiz
approved these changes
Apr 4, 2025
Member
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
rmarinho
approved these changes
Apr 7, 2025
bhavanesh2001
pushed a commit
to bhavanesh2001/maui
that referenced
this pull request
Apr 11, 2025
…tion (dotnet#28746) * Fixed-VS-Picker * Added-iOS-SnapShot
PureWeen
pushed a commit
that referenced
this pull request
Apr 11, 2025
…tion (#28746) * Fixed-VS-Picker * Added-iOS-SnapShot
PureWeen
pushed a commit
that referenced
this pull request
Apr 16, 2025
…tion (#28746) * Fixed-VS-Picker * Added-iOS-SnapShot
sheiksyedm
pushed a commit
to sheiksyedm/maui
that referenced
this pull request
Apr 17, 2025
…tion (dotnet#28746) * Fixed-VS-Picker * Added-iOS-SnapShot
NanthiniMahalingam
pushed a commit
to NanthiniMahalingam/maui
that referenced
this pull request
Apr 17, 2025
…tion (dotnet#28746) * Fixed-VS-Picker * Added-iOS-SnapShot
github-actions bot
pushed a commit
that referenced
this pull request
Apr 18, 2025
…tion (#28746) * Fixed-VS-Picker * Added-iOS-SnapShot
PureWeen
added a commit
that referenced
this pull request
Apr 23, 2025
### Description of Change ## .NET MAUI Release Notes - Inflight/Candidate ## What's Changed ### MAUI Product Fixes * Fix CarouselView layout SR6 regressions by @albyrock87 in #29035 * Revert "[Android] picker - focus/unfocus events (#28122)" by @PureWeen in https://github.com/dotnet/maui/pull/1fb5164929 * [Windows] Fixed the flyout content width not being set correctly after updating to WinUI SDK 1.7 by @Tamilarasan-Paranthaman in #28996 * [Android] picker - focus/unfocus events by @kubaflo in #28122 * [XC] add IRootObjectProvider by @StephaneDelcroix in #28310 * [iOS] Fix for the File.ContentType from MediaPicker not being in valid MIME format by @SyedAbdulAzeemSF4852 in #28842 * [Android] Fixed the Incorrect Text Color Applied to Selected Tab in TabbedPage by @Ahamed-Ali in #28844 * [iOS] Fix FlyoutPage does not respond to changes in the FlyoutLayoutBehavior property by @devanathan-vaithiyanathan in #28884 * [Android] Fixed ScalingCanvas.SetBlur not working by @NirmalKumarYuvaraj in #28911 * [iOS] - Resolved Proper Rendering of Dynamic Header/Footer Updates in CV2 by @prakashKannanSf3972 in #28641 * [iOS] Fixed the TargetInvocationException Occurs When Selecting Header/Footer After Changing ItemsLayout in CV2 by @Ahamed-Ali in #28890 * [Windows] - Fix Visual State Issue with Picker TextColor After Navigation by @prakashKannanSf3972 in #28746 ### Dependency Updates * [Windows] Upgrade to Windows App SDK 1.7 by @MartyIX in #28499 ### Testing * [Testing] Feature Matrix UITest Cases for CollectionView EmptyView Feature by @NafeelaNazhir in #28679 * Fixed Test case failure in PR 29037 - [2025/04/21] Candidate by @HarishKumarSF4517 in #29049 **Full Changelog**: main...inflight/candidate For more information about inflight process check https://github.com/dotnet/maui/wiki/Inflight-Branch-Process
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Root Cause:
The Picker does not refresh its visual states when the TextColor property changes, causing stale text color rendering after page navigation or re-entry. While TextColorResourceKeys correctly map the resources, the UI does not update unless the theme resources are explicitly refreshed.
Description of Change:
Improved the handling of TextColorResource updates to ensure text color changes are properly reflected after page navigation or re-entry. This enhancement prevents stale visual states in the Picker control, ensuring a consistent and accurate UI appearance across navigation scenarios.
maui/src/Core/src/Platform/Windows/DatePickerExtensions.cs
Lines 64 to 68 in 17a8b5a
Issues Fixed
Fixes #28536
Tested the behaviour in the following platforms
Output
Before_Fix.1.mp4
After_Fix.1.mp4