1

我正在尝试为我的应用程序创建一个类似于 Mozilla Firefox 使用的 MainMenu:

这样它就可以显示在航空玻璃上。我可以想出几种方法来做到这一点,但它们会很丑陋,并且可能会因为它们是 hackish 而破坏程序的体验。

我想知道是否有一种方法可以自定义绘制MainMenu控件,类似于如何覆盖OnPaint其他控件上的方法(由于某种原因,MainMenu没有)。或者如果这不可能,我可以使用什么样的hacky方法不会破坏用户体验。

是的,我确信在 WPF 中有一种非常简单的方法可以做到这一点,我希望能够花时间学习它,但是我的应用程序已经处于半成熟阶段,而且它会非常此时切换到不同的 UI 平台不方便。

4

1 回答 1

1

我最终创建了自己的控件,该控件继承 ToolStripMenuItem 并覆盖 OnPaint 并使用 绘制文本,并使用此处DrawThemeTextEx找到的 MenuStrip 渲染器的修改版本,它省略了标题文本的渲染(因此它不会与工具条。DrawThemeTextEx

最终产品如下所示:

:)

于 2012-06-16T04:08:24.520 回答