How can I bind the default Window background color of the theme to a Window background?
I've tried the following:
<Window x:Class="Shell"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Shell"
Height="300"
Width="300"
Background="{DynamicResource WindowBackgroundBrush}"
>
But the background color renders as black and that does not seem right when using the Luna theme. Using the Luna theme I would expect the beige/brownish color often found in Windows XP.
UPDATE: After reading your answers, playing with StyleSnooper and thinking some more about this I've come to the following conclusion:
The Window will use SystemColors.WindowBrush as its background color by default. This color is white in most themes i've tried and that is probably OK. I believe white is also the Window background color in WinForms. However, the default Form background color in WinForms is not Window background but Control. So, if I want that color I have use SystemColors.ControlBrush
as pointed out by Lucas.
At one point I was trying to achieve the brownish/beige Control color of WinForms on Windows XP. This is probably not possible on Windows Vista since Control color on Vista is kind of gray. Running a WinForms application on Windows Vista will not render it as beige/brownish, but gray. In this case I guess we have to apply our own custom styles to achieve the "original" Windows XP look on Vista.
Thanks everyone for helping me sort this out!
Select Start > Settings > Personalization > Colors, and then choose your own color, or let Windows pull an accent color from your background.
Select Start > Settings . Select Personalization > Colors. Under Choose your color, select Light. To manually select an accent color, choose one under Recent colors or Windows colors, or select Custom color for an even more detailed option.
To enable dark mode, navigate to Settings > Personalization > Colors, then open the drop-down menu for "Choose your color" and pick Dark. Dark (and Light) mode change the look of the Windows Start menu and built-in apps.
Does applying a theme actually override the system brushes as I would expect? If so, you should be able to do this:
<Window ...
Background="{x:Static SystemColors.WindowBrush}
...>
Edit
As per Manga's comment, you'll probably want to use SystemColors.ControlBrush to achieve the desired effect, because WindowBrush on most systems is white. ControlBrush is the "off-white" colour you're seeing on Windows XP.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With