You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Windows 11系统主题色创建SolidColorBrush资源

问题原因

你提供的报错代码存在两个核心错误:

  • x:Key属性需要填写资源的唯一标识符,你错误传入了SystemColors.HighlightColor颜色值作为键,不符合资源定义规则
  • 手动写死了Color="Red",完全没有关联系统主题色,逻辑不成立

解决方案

方案1:基于Win11窗口玻璃主题色创建SolidColorBrush

你之前正常调用的SystemParameters.WindowGlassBrush对应的原生主题色存放在SystemParameters.WindowGlassColor属性中,直接绑定该值到Color属性即可生成纯色画刷:

<SolidColorBrush x:Key="Win11ThemeSolidBrush" Color="{Binding Source={x:Static SystemParameters.WindowGlassColor}}"/>

方案2:基于系统高亮主题色创建SolidColorBrush

如果你需要用的是SystemColors.HighlightColor对应的系统高亮色,调整属性赋值位置即可:

<SolidColorBrush x:Key="SystemHighlightSolidBrush" Color="{x:Static SystemColors.HighlightColor}"/>

调用示例

创建完成后可以像普通资源一样全局调用,效果和直接调用系统画刷完全一致:

<Style TargetType="{x:Type ProgressBar}">
    <Setter Property="Foreground" Value="{StaticResource Win11ThemeSolidBrush}"/>
</Style>

如需响应系统主题色实时切换,将StaticResource替换为DynamicResource,同时把Color属性的绑定改为动态绑定即可。

内容的提问来源于stack exchange,提问作者Toni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:15:07