我想为Outlook的Ribbonbar创建一个自定义标签。
我立刻放弃了用标准控件创建一个真正的Ribbonbar的想法,因为我知道它受到严重限制。没有自定义控件,几乎没有其他项目中可用于相同控件的众所周知的事件,在功能区内不可能有不同的设计或布局等。
我创建了一个Region并用我的自定义WPF控件填充它。 该地区运作良好,但问题在于:
Ribbonbar的高度是固定的,您无法更改它AFAIK。 有没有办法将我的区域覆盖在Ribbonbar上? 如果涉及大量工作并不重要。我必须这样做,我想学习如何。
答案 0 :(得分:1)
您可以考虑将自定义控件放在功能区栏下方。 VSTO(也不是Outlook表单区域)不提供任何布局,但您可以使用Windows API对Outlook窗口进行子类化。有关详细信息和示例代码,请参阅Creating Adjacent Windows In Outlook。或者只使用Advanced Outlook view and form regions,它们提供TopSubpane布局。
Fluent UI提供了一组预定义的控件,并且不允许使用功能区本身执行任何操作。在以下系列文章中阅读有关Ribbon UI的更多信息:
答案 1 :(得分:0)
不可以,您无法使用Outlook公开的任何API在功能区或任何其他控件上覆盖区域。
答案 2 :(得分:0)
在这里和其他地方听到我想要做的事实上是不可能的,我想出了一个解决方法。我决定如果我不能使用我应该使用的工具,我只是即兴发挥。以下是其他人需要制作高度自定义的Ribbonbar的简短说明:
......等等。最小/最大化和关闭时,您还必须处理对话框的行为。它做了很多工作,但幻觉几乎是完美的。它看起来像一个真正的Ribbontab,你可以在它里面做任何你想做的事情。给它一个背景图像,绘制图形,打开浏览器......:D