CustomUI ribbon.xml onLoad事件在启动时仅触发一次

问题描述 投票:1回答:2

我为Outlook加载项创建了CustomUI功能区,这里是ribbon.xml

<customUI onLoad="Ribbon1_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui">

这是我的ThisAddin类:

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
  return new Ribbon1();
}

这是我的处理方法:

public void Ribbon1_Load(Office.IRibbonUI ribbonUI)
{
   this.ribbon = ribbonUI;  
}

问题是Ribbon1_Load事件在Outlook启动时仅调度一次,而在创建新电子邮件项目时不调度。

我应该改用什么事件?

c# vsto outlook-addin office-addins
2个回答
0
投票

为了实现这一点,您需要使用Inspector中所述的here


0
投票

功能区将仅加载一次-即使打开更多的检查器或资源管理器,Outlook也会随后缓存功能区XML。

如果需要刷新特定功能区控件的状态,则需要使功能区无效,这将触发控件级别的回调。

© www.soinside.com 2019 - 2024. All rights reserved.