WPF UI provides the Fluent experience in your known and loved WPF framework. Intuitive design, themes, navigation and new immersive controls. All natively and effortlessly.
Is your feature request related to a problem? Please describe
Currently, High Contrast support is severely lacking - and does not provide a great experience for users needing it. Colors do not match recommended guidelines. Just adding the brush equivalents in HighContrast.xaml is not enough, as core brushes.
An example:
Button uses ControlFillColorSecondaryBrush as its MouseOver state - but this brush is used in many controls.
To support proper high-contrast, this brush should be overwritten - but the color that needs to be used would be different for e.g. Button.
Describe the solution you'd like
Instead of using brushes like ControlFillColorSecondaryBrush directly in the Button.xaml, we'd need to create a ButtonBackgroundPointerOver brush, that enherites ControlFillColorSecondaryBrush.
This means that Button.xaml would have Button-specific brushes only and these brushes would live in Dark.xaml, Light.xaml and HighContrast.xaml. This would allow us to override the brush resources with the correct colors for high-contrast mode.
Ideally we'd have ThemeDictionary in control specific style sheets (like WinUI), but since these are not supported we'd need to have these in the main resource dictionaries.
Is your feature request related to a problem? Please describe
Currently, High Contrast support is severely lacking - and does not provide a great experience for users needing it. Colors do not match recommended guidelines. Just adding the brush equivalents in
HighContrast.xaml
is not enough, as core brushes.An example:
Button
usesControlFillColorSecondaryBrush
as itsMouseOver
state - but this brush is used in many controls.To support proper high-contrast, this brush should be overwritten - but the color that needs to be used would be different for e.g.
Button
.Describe the solution you'd like
Instead of using brushes like
ControlFillColorSecondaryBrush
directly in theButton.xaml
, we'd need to create aButtonBackgroundPointerOver
brush, that enheritesControlFillColorSecondaryBrush
.This means that
Button.xaml
would have Button-specific brushes only and these brushes would live inDark.xaml
,Light.xaml
andHighContrast.xaml
. This would allow us to override the brush resources with the correct colors for high-contrast mode.Button.xaml
now (Pressed
state):Button.xaml
proposed:In
Dark.xaml
,Light.xaml
andHighContrast.xaml
we'd define these brushes as:Describe alternatives you've considered
No response
Additional context
Ideally we'd have
ThemeDictionary
in control specific style sheets (like WinUI), but since these are not supported we'd need to have these in the main resource dictionaries.