【发布时间】:2017-04-07 18:51:22
【问题描述】:
为这样一个简单的问题提前道歉。但是,我的 google-fu 技能今天不起作用,我得到的每个结果都在解释如何“更改默认背景”,这不是我需要的。
WPF MenuItem 的默认颜色是什么?虽然我有兴趣知道默认颜色名称,但更好的解决方案是知道如何引用 Windows 系统画笔值,以便如果用户更改其 Windows 主题设置,它会更新此颜色以及我的菜单。
【问题讨论】:
为这样一个简单的问题提前道歉。但是,我的 google-fu 技能今天不起作用,我得到的每个结果都在解释如何“更改默认背景”,这不是我需要的。
WPF MenuItem 的默认颜色是什么?虽然我有兴趣知道默认颜色名称,但更好的解决方案是知道如何引用 Windows 系统画笔值,以便如果用户更改其 Windows 主题设置,它会更新此颜色以及我的菜单。
【问题讨论】:
您想获取颜色还是设置颜色?获取很容易:
SystemColors.MenuBrush
SystemColors.MenuColor
SystemColors.MenuBarBrush
SystemColors.MenuBarColor
SystemColors.MenuTextBrush
SystemColors.MenuTextColor
如果您想在主题更改时收到提醒,请参阅the answers to this question。
要获得默认的MenuItem 样式,这将起作用:
var style = FindResource(typeof(MenuItem)) as Style;
那么恐怕你必须在监视窗口中仔细检查它以查看它的设置。
【讨论】:
Rectangle上使用了Fill="{TemplateBinding Background}",但不知道是什么风格。半小时前我在 VS 某处发现了一个“Edit in Blend”菜单项,但现在找不到了。