我为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启动时仅调度一次,而在创建新电子邮件项目时不调度。
我应该改用什么事件?
为了实现这一点,您需要使用Inspector
中所述的here。
功能区将仅加载一次-即使打开更多的检查器或资源管理器,Outlook也会随后缓存功能区XML。
如果需要刷新特定功能区控件的状态,则需要使功能区无效,这将触发控件级别的回调。