我使用vs 2013 .NET 4.5.1 c#
如何在运行时向outlook功能区添加选项卡?
我试试:
Microsoft.Office.Tools.Ribbon.RibbonTab OneNewTab;
OneNewTab = this.Factory.CreateRibbonTab();
OneNewTab.SuspendLayout();
OneNewTab.Label = "newtab";
OneNewTab.Name = "newtab;
this.Tabs.Add(OneNewTab);
但是我得到了:
发生了'System.InvalidOperationException'类型的异常 Microsoft.Office.Tools.Common.Implementation.dll但未处理 在用户代码中附加信息:集合是只读的。不能 改变集合的内容。
答案 0 :(得分:1)
您需要在设计时添加标签,并使其可见且运行时间。
答案 1 :(得分:1)
Ribbon UI是一个静态的东西。您无法在运行时自行添加新选项卡。
Fluent UI可扩展性模型基于IRibbonExtensibility接口。宿主应用程序调用加载项中实现的GetCustomUI方法以获取自定义UI标记。所以,你不能在运行时这样做。
作为一种解决方法,您可以定义getVisible回调并调用IRibbonUI.Invalidate或IRibbonUI.InvalidateControl方法以强制主机应用程序刷新UI。
在MSDN的以下系列文章中阅读有关Ribbon UI(又名Fluent UI)的更多信息: