在我的应用程序中,我有一个控件,其背景是根据用户输入设置的,通过以下代码:
m_ToolBar.Background = (m_IToolbar.UseBackColor) ?
new SolidColorBrush(m_IToolbar.BackColor): m_DefaultWindowsBrush;
其中m_IToolbar.UseBackColor是一个布尔值是否更新颜色,如果没有,则恢复为我在初始化方法中硬编码的默认窗口颜色。
有没有办法获得除了硬编码之外的默认窗口颜色(如果我更改窗口主题颜色会有进一步的问题)。
答案 0 :(得分:1)
您可以使用SystemColors Class。特别是SystemColors.ControlBrush属性
从上面链接:
WPF公开包含当前Windows系统主题的颜色样本。它们在SystemColors类中可用作颜色,画笔和相应的ResourceKeys(用于绑定动态通知这些颜色的更改,例如,如果用户切换Windows主题)。