WPF C# 如何检索Windows 10的强调颜色

7

是的,WPF技术。

如何在桌面WPF应用程序中获取用户在Windows设置中选择的强调颜色?

例如,对于按钮?

2个回答

12
我不确定您使用的是哪个版本的.Net,但如果您使用的是4.5或更高版本,您可以使用SystemParameters类。我认为你可能需要的属性是WindowsGlassBrush
this.Background = SystemParameters.WindowGlassBrush;

请注意,该类中的属性标有 SecurityCriticalAttribute,因此您很可能需要完全信任来访问它们。


2
这个可以!我想知道如果在没有像Windows 10那样的强调色的旧版本Windows上运行时,它会做什么。 - Rudey
如果启用了“从我的背景自动选择强调颜色”,则无法获取正确的颜色。 - Aidan Fitzpatrick
这在 Windows 11 中也有效。 - Toni

10

我想要理查德·普雷齐奥的回答的XAML版本,应该是:

BorderBrush="{Binding Source={x:Static SystemParameters.WindowGlassBrush}}"

1
以下代码可在Windows 11中使用: <Setter Property="Foreground" Value="{x:Static SystemParameters.WindowGlassBrush}"/> - Toni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接