我目前正在尝试覆盖 WPF 系统颜色。从这里我发现这可以通过创建一个新的 SolidColorBrush 资源来完成,例如x:Key="{x:Static SystemColors.WindowBrushKey}"
更改窗口背景颜色的键。
这已经有效,但是 Visual Studio WPF 设计器不会将新颜色显示为窗口的背景。
从一个干净的 WPF 应用程序开始,这就是我的 XAML 代码在 MainWindow 中的样子:
<Window x:Class="TestOverwriteSystemColor.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:TestOverwriteSystemColor"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}" Color="Orange" />
</Window.Resources>
<Grid>
</Grid>
</Window>
在 Visual Studio 设计器中,这看起来像这样:
如果我运行它,这就是生成的应用程序:
将SolidColorBrush
Resource 添加到 App.xaml 资源也不会改变这一点。我错过了什么新定义的 SystemColor 也在设计器中使用?