【问题标题】:What is the Background color of a Menu/MenuItem in WPF?WPF 中菜单/菜单项的背景颜色是什么?
【发布时间】:2017-04-07 18:51:22
【问题描述】:

为这样一个简单的问题提前道歉。但是,我的 google-fu 技能今天不起作用,我得到的每个结果都在解释如何“更改默认背景”,这不是我需要的。

WPF MenuItem 的默认颜色是什么?虽然我有兴趣知道默认颜色名称,但更好的解决方案是知道如何引用 Windows 系统画笔值,以便如果用户更改其 Windows 主题设置,它会更新此颜色以及我的菜单。

【问题讨论】:

    标签: wpf xaml menu


    【解决方案1】:

    您想获取颜色还是设置颜色?获取很容易:

    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;
    

    那么恐怕你必须在监视窗口中仔细检查它以查看它的设置。

    【讨论】:

    • 奇怪,我发现文档引用了这些颜色,但输出不同。我正在构建一个顶部有菜单的控件,下面还有一些附加功能。这些颜色我都试过了,都关了。
    • @RLH 默认的 Windows 7 样式似乎做了一些不同的事情。模板在背景Rectangle上使用了Fill="{TemplateBinding Background}",但不知道是什么风格。半小时前我在 VS 某处发现了一个“Edit in Blend”菜单项,但现在找不到了。
    • 查看 | “混合设计”
    • @RLH 嗯,可以在运行时获取默认的菜单项样式;见更新。从那里开始,它似乎并不好玩。
    • 谢谢。我认为这可能足以满足我的需求。
    猜你喜欢
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 2015-05-19
    相关资源
    最近更新 更多