如何在WPF XAML中获取Windows 10/11系统当前强调色
你当前代码失效的核心原因是类型不匹配:SystemParameters.WindowGlassBrush是画刷(Brush)类型,不能直接赋值给Color属性。不同技术栈的解决方法如下:
WPF 场景
如果你的WPF项目面向.NET版本低于4.7.1,使用静态获取的方式兼容性更好:
<SolidColorBrush x:Key="SystemAccentBrush" Color="{x:Static SystemParameters.WindowGlassColor}"/>
如果需要跟随系统强调色实时变更,使用系统内置的动态资源键即可,系统修改强调色时会自动同步更新:
<!-- 直接引用系统内置强调色画刷 --> <Element Background="{DynamicResource {x:Static SystemColors.AccentBrushKey}}" /> <!-- 自定义强调色画刷也可绑定动态资源 --> <SolidColorBrush x:Key="CustomAccentBrush" Color="{DynamicResource {x:Static SystemColors.AccentColorKey}}" />
WinUI 3 / UWP 场景
框架已经内置了系统强调色的主题资源,直接引用即可自动适配系统变化:
<SolidColorBrush x:Key="CustomAccentBrush" Color="{ThemeResource SystemAccentColor}" />
内容的提问来源于stack exchange,提问作者Toni
相关产品推荐
相关产品推荐

