Skip to content

Replace NullableColorPicker ContentDialog with Flyout#19572

Merged
carlos-zamora merged 1 commit intomainfrom
dev/cazamor/color-picker-flyout
Nov 25, 2025
Merged

Replace NullableColorPicker ContentDialog with Flyout#19572
carlos-zamora merged 1 commit intomainfrom
dev/cazamor/color-picker-flyout

Conversation

@carlos-zamora
Copy link
Member

Summary of the Pull Request

Updates the NullableColorPicker to use a flyout instead of a content dialog. Frankly, it should've been this way from the start.

#19561 is an issue regarding the rectangle on the right side of the picker. The complaint being that it should be something more useful than a preview, an idea being that it could be a lightness gradient. Unfortunately, the WinUI color picker doesn't let you do that. It's just a plain preview.

That said, there's a lot of customizations that can be added still to increase value here. To name a few:

  • IsColorSliderVisible --> a color slider to adjust the lightness of the color (as desired in Color Picker Lightness Bar/Selector Inoperative #19561)
  • IsHexInputVisible --> an input field to see and adjust the hex value directly
  • IsColorChannelTextInputVisible --> several input fields to adjust individual RGB channels or switch over to HSV

However, the content dialog doesn't allow for text input due to a WinUI bug and it's too small to display all of those controls.

Instead, I just discarded the content dialog altogether and opted into a flyout. This makes it a more consistent experience with the other color pickers (i.e. tab color, edit color scheme page). This also adds space for all of the functionality mentioned above (those properties are enabled by default).

Validation Steps Performed

✅ selecting a color still works

Closes #19561

@carlos-zamora
Copy link
Member Author

Demo

color picker flyout demo

@carlos-zamora carlos-zamora merged commit 38d2fda into main Nov 25, 2025
19 checks passed
@carlos-zamora carlos-zamora deleted the dev/cazamor/color-picker-flyout branch November 25, 2025 00:21
@github-project-automation github-project-automation bot moved this to To Cherry Pick in 1.24 Servicing Pipeline Jan 29, 2026
@DHowett DHowett moved this from To Cherry Pick to Cherry Picked in 1.24 Servicing Pipeline Feb 27, 2026
DHowett pushed a commit that referenced this pull request Feb 27, 2026
## Summary of the Pull Request
Updates the NullableColorPicker to use a flyout instead of a content
dialog. Frankly, it should've been this way from the start.

#19561 is an issue regarding the rectangle on the right side of the
picker. The complaint being that it should be something more useful than
a preview, an idea being that it could be a lightness gradient.
Unfortunately, the WinUI color picker doesn't let you do that. It's just
a plain preview.

That said, there's a lot of customizations that can be added still to
increase value here. To name a few:
- IsColorSliderVisible --> a color slider to adjust the lightness of the
color (as desired in #19561)
- IsHexInputVisible --> an input field to see and adjust the hex value
directly
- IsColorChannelTextInputVisible --> several input fields to adjust
individual RGB channels or switch over to HSV

However, the content dialog doesn't allow for text input due to a WinUI
bug and it's too small to display all of those controls.

Instead, I just discarded the content dialog altogether and opted into a
flyout. This makes it a more consistent experience with the other color
pickers (i.e. tab color, edit color scheme page). This also adds space
for all of the functionality mentioned above (those properties are
enabled by default).

## Validation Steps Performed
✅ selecting a color still works

Closes #19561

(cherry picked from commit 38d2fda)
Service-Card-Id: PVTI_lADOAF3p4s4BBcTlzgkgbZA
Service-Version: 1.24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Cherry Picked

Development

Successfully merging this pull request may close these issues.

Color Picker Lightness Bar/Selector Inoperative

2 participants