根据Windows主题颜色wpf更改控件的背景

时间:2012-04-18 04:35:04

标签: c# wpf colors

在我的应用程序中,我有一个控件,其背景是根据用户输入设置的,通过以下代码:

m_ToolBar.Background = (m_IToolbar.UseBackColor) ?
new SolidColorBrush(m_IToolbar.BackColor): m_DefaultWindowsBrush;

其中m_IToolbar.UseBackColor是一个布尔值是否更新颜色,如果没有,则恢复为我在初始化方法中硬编码的默认窗口颜色。

有没有办法获得除了硬编码之外的默认窗口颜色(如果我更改窗口主题颜色会有进一步的问题)。

1 个答案:

答案 0 :(得分:1)

您可以使用SystemColors Class。特别是SystemColors.ControlBrush属性

从上面链接:

  

WPF公开包含当前Windows系统主题的颜色样本。它们在SystemColors类中可用作颜色,画笔和相应的ResourceKeys(用于绑定动态通知这些颜色的更改,例如,如果用户切换Windows主题)。