我可以将主题的默认窗口背景色绑定到窗口背景吗?
我尝试了以下方法:
<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}"
>
但是,当使用Luna主题时,背景色呈黑色,这似乎不正确。使用Luna主题,我希望看到Windows XP中经常出现的米色/棕色。
更新: 在阅读了你们的答案,使用StyleSnooper进行实验并思考后,我得出以下结论:
窗口默认使用SystemColors.WindowBrush作为其背景颜色。大多数我尝试过的主题中,这种颜色是白色,这可能是可以接受的。我相信在WinForms中,白色也是窗口的背景颜色。但是,在WinForms中,默认的窗体背景颜色不是Window背景,而是Control。因此,如果我想要那种颜色,我必须像Lucas所指出的那样使用SystemColors.ControlBrush
。
曾经我正在尝试在Windows XP上实现WinForms的棕色/米色控制颜色。在Windows Vista上,这可能是不可能的,因为Vista上的控制颜色有点灰色。在Windows Vista上运行WinForms应用程序将不会呈现为米色/棕色,而是灰色。在这种情况下,我想我们必须应用自己的自定义样式来实现Vista上“原始”的Windows XP外观。
感谢大家帮助我解决问题!