WPF 更改或覆盖默认系统颜色

Posted

技术标签:

【中文标题】WPF 更改或覆盖默认系统颜色【英文标题】:WPF Change or Override Default System Colors 【发布时间】:2022-01-12 19:59:30 【问题描述】:

我在这个网站和其他网站上研究了很长时间,但没有得到任何结果。

IDEVS2022操作系统Windows 11应用WPF.NET 6(核心)C#T-SQL

我正在尝试更改 ResourceDictionary 中的默认 蓝色 系统颜色。

我可以使用资源字典中的 XAML 代码成功更改所有文本颜色:

<SolidColorBrush x:Key="x:Static SystemColors.ControlTextBrushKey" Color="Red" />

我想将所有默认的蓝色颜色更改为红色,例如悬停TextBoxComboBoxPasswordBox时的边框颜色,加上所有的突出显示颜色控制。

我可以使用Styles 这样做,但这需要我更改所有控件的Style

有没有更简单的方法,比如更改或覆盖系统颜色?

【问题讨论】:

为什么要重复你自己的问题 (***.com/questions/70234514/…)?你已经得到了答案。 【参考方案1】:

有没有更简单的方法,比如更改或覆盖系统颜色?

不,不是。

每个控件都有自己的默认样式和模板,它们可能使用也可能不使用系统颜色。它因情况而异,因此您可能需要为要修改其外观的每个控件定义自定义样式或模板。

WPF 中没有一种“默认蓝色”。

【讨论】:

以上是关于WPF 更改或覆盖默认系统颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何更改/覆盖Vuetify js中禁用字段的默认颜色?

WPF 更改(覆盖)所有控件中的突出显示和边框颜色

如何更改 WPF 文本框的突出显示文本颜色?

WPF App忽略高对比度

MaterialDesign ComboBox 箭头调整大小和更改颜色 WPF

更改 WPF DatePicker 年/月标题区域背景颜色