WPF系统颜色的符号名称?

Posted

技术标签:

【中文标题】WPF系统颜色的符号名称?【英文标题】:Symbolic names for WPF system colors? 【发布时间】:2018-12-07 03:43:31 【问题描述】:

在哪里可以获得 WPF“系统”颜色的符号名称?我试过SystemColors,但名字并没有告诉我太多,例如我没有看到禁用标签文本颜色的条目。

我正在寻找类似的东西——启用按钮文本颜色、启用按钮背景颜色、禁用按钮文本颜色等等。

【问题讨论】:

您能告诉我们您为什么需要它们吗?系统控件共享SystemColors.Control* 画笔,因此您不会为按钮、文本块等找到任何特定的系统颜色。如果您制作自己的控件,只需使用这些。 @Freggar,因为我设置了red,然后设置了green,然后我需要我的标签看起来像禁用的标签。如果我设置gray,它可能适用于默认主题,但如果主题不同,gray 将作为禁用颜色无效。所以我需要像my_label.Foreground = SystemColors.Disabled.... 这样的东西,但我找不到任何相关的东西。我看到了那些 ControlXXX 条目,但又没有与禁用颜色有关。 您可能想使用SystemColors.ControlDark。 ***.com/questions/7766584/… 顺便说一句,您可以在 GUI 设计器中做一些巧妙的技巧。右键单击标签(在设计视图中)“编辑样式”->“编辑副本”。这将向您展示标签使用的不同画笔。你会发现标签实际上使用SystemColors.GrayTextBrushKey 来表示禁用的文本... 【参考方案1】:

您可以使用 x:Static 访问系统颜色:

<TextBox Text="Looks like disabled text" Foreground="x:Static SystemColors.GrayTextBrush"/>

查看默认样式和模板Control Styles and Templates 也很有意义,因为那里定义了很多颜色。

这里有SystemColors。

【讨论】:

以上是关于WPF系统颜色的符号名称?的主要内容,如果未能解决你的问题,请参考以下文章

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

创建一个显示所有预定义WPF颜色的ListBox

WPF 精修篇 获取系统颜色和字体样式

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

绘制散点图图例不显示图例标题,但每种颜色都有 = 符号

R Plotly:拆分图例:符号和颜色