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

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

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

【问题讨论】:

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

标签: wpf colors system-setting


【解决方案1】:

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

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

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

这里有SystemColors

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 2013-11-29
    • 2014-09-01
    • 2021-07-17
    • 1970-01-01
    • 2019-07-28
    相关资源
    最近更新 更多