Skip to content

Settings UI: expander header hover highlight fires while hovering interactive controls inside the header (e.g. color scheme ComboBox) #20401

Description

@steven-pribilinskiy

Description

In the Settings UI, some SettingContainer expanders host interactive controls in their header's "current value" slot — e.g. the color scheme ComboBox on the profile Appearance page (both in released builds and in the reworked pair UI of #20390).

Because the WinUI 2 Expander header is a ToggleButton whose PointerOver visual state reacts to the pointer anywhere over the header subtree, hovering the ComboBox lights up the entire header row as if the expand/collapse toggle were about to be clicked. That reads as misleading affordance: the user is targeting the combo, not the toggle.

The repo does not override the Expander ControlTemplate (only theme brushes like ExpanderHeaderBorderBrush in SettingContainerStyle.xaml), and the header toggle's hover-state resources are internal to WinUI's compiled template, so there is no lightweight scoped-resource fix — suppressing or scoping the hover visual appears to require retemplating the Expander header (or moving interactive content out of headers).

Steps to reproduce

  1. Open Settings → any profile → Appearance.
  2. Hover the pointer over the "Color scheme" ComboBox in the collapsed expander header.

Expected: only the ComboBox shows hover feedback.
Actual: the whole expander header shows its hover highlight as well.

Observed on Windows Terminal stable and on a local main build. Split out of PR #20390 validation; not introduced by that PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs-Tag-FixDoesn't match tag requirementsNeeds-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions