![](/img/trans.png)
[英]In Office Add-in C#, There is an option to open Form on top of the office Application only?
[英]Office Add-in / Overlay Region on top of the Ribbonbar
我想为Outlook的Ribbonbar创建一个自定义选项卡。
我立即放弃了使用标准控件创建真正的Ribbonbar的想法,因为我知道它受到严格限制。 没有自定义控件,几乎没有其他项目中可用于相同控件的众所周知的事件,也没有机会在功能区中进行不同的设计或布局等。
我创建了一个Region,并用我的自定义WPF控件填充了它。 该区域运行良好,但这是问题所在:
功能区栏的高度是固定的,您无法自动更改它。 有什么办法可以将我的区域覆盖在功能区栏的顶部? 涉及很多工作都没关系。 我必须这样做,我想学习如何。
您可以考虑将自定义控件放在功能区栏的正下方。 VSTO(也不是Outlook窗体区域)没有为此提供任何布局,但是您可以使用Windows API来对Outlook窗口进行子类化。 有关更多信息和示例代码,请参阅在Outlook中创建相邻的Windows 。 或者只使用Advanced Outlook视图和窗体区域 ,它们提供TopSubpane布局。
Fluent UI提供了一组预定义的控件,并且不允许对功能区本身进行任何操作。 在以下系列文章中了解有关Ribbon UI的更多信息:
不可以,您不能使用Outlook公开的任何API在功能区或任何其他控件的顶部覆盖区域。
在这里和其他地方听到我想做的事确实是不可能的之后,我想出了一种解决方法。 我决定,如果我不能使用我应该使用的工具,那我会即兴创作。 如果有人需要制作高度自定义的Ribbonbar,这是一个简短的解释:
...等等。 最小/最大化和关闭时,您还必须处理对话框的行为。 大量的工作,但幻觉几乎是完美的。 它看起来像一个真正的Ribbontab,您可以在其中执行任何操作。 给它一个背景图像,画一个图,打开浏览器....:D
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.