Skip to content

fix(ui): plain buttons are the surface with a border, unlike a disabled box (#524) - #570

Merged
KnifeLemon merged 1 commit into
KnifeLemon:mainfrom
cre8ive-marketing:fix/524-button-look
Oct 25, 2026
Merged

KnifeLemon merged 1 commit into
KnifeLemon:mainfrom
cre8ive-marketing:fix/524-button-look

Conversation

@cre8ive-marketing

Copy link
Copy Markdown
Collaborator

Point 5 of #524, option (b), as approved.

What it does

Plain buttons (Revert, Browse…, Change…, Open folder …) had the same flat grey as a disabled field, such as the DPI box next to them. They now take the surface they sit on, with a thin border, so only a disabled control is a flat grey. Accent, ghost, icon and navigation buttons keep their own look.

  • Soft.axaml: the Fluent ButtonBackground* / ButtonBorderBrush* resources in the light and dark dictionaries.
  • Also under Material You and a theme.json surface: those themes replace SurfaceBrush, so ThemeService gives the buttons the same surface and hover colour. Without that, the buttons would stay white on a tinted card.
  • Setup shares Soft.axaml, so its Change… button changes the same way.

Setup (Options)

Setup, light
Setup, dark

The app (from the #524 discussion)

Presets, light
Presets, dark

Tests

  • New MaterialYouThemeTests.Plain_buttons_are_the_surface_with_a_border_unlike_a_disabled_box: under Soft and Material You, light and dark, a plain button resolves to the surface, hovers to the alternate surface and has a visible border.
  • ThemeService_respects_custom_theme_json_overrides now also checks that a theme.json surface reaches the buttons.
  • The SetupWindowTests screenshots above (29 pass).
  • dotnet format --verify-no-changes is clean.
  • Full dotnet test: Platform 81, Core 602, CLI 27, Setup 176, Engines 1821 and App 1345 pass, none fail.

Part of #524.

…nifeLemon#524)

Revert, Browse… and the other plain buttons had the same flat grey as a disabled field next to them. They now take the surface they sit on with a thin border, in the app and in Setup (which shares Soft.axaml). Material You and a theme.json surface colour them too.
@cre8ive-marketing

Copy link
Copy Markdown
Collaborator Author

@KnifeLemon, CI is green on every check here. When you have reviewed it, could you merge it into main?

@KnifeLemon KnifeLemon left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @cre8ive-marketing, this is (b) as approved in #524: plain buttons take the surface with a thin border in light and dark, Material You and theme.json surfaces follow through ThemeService, and Setup comes along since it shares Soft.axaml. The test pins the surface and border in both styles and variants. Merging.

@KnifeLemon
KnifeLemon merged commit fe8052e into KnifeLemon:main Oct 25, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants