动态更改检查器自定义功能区控件
本文关键字:自定义 功能区 控件 检查 动态 | 更新日期: 2023-09-27 17:59:08
在我的Outlook加载项中,我最初为检查员分配了一个自定义功能区(一个带有控件的新组),以支持我手动创建的一些邮件的一些功能。当我打开每个邮件项目时,无论是商店还是文件夹,都会显示此自定义选项卡。我想让这个选项卡只对我手动创建的自定义邮件项目的检查员可见。
下面是xml的一个片段,我将其添加为代码中检查器的自定义UI。我添加了一个回调方法来执行以设置可见性(GetCustomGroupVisible)。
<ribbon>
<tabs>
<tab idMso="TabReadMessage">
<group id="MyCustomGroup" insertBeforeMso="GroupMailDelete" getVisible="GetCustomGroupVisible">
<button id="Button1" size="large" onAction="ButtonClick" />
<button id="Button2" size="large" onAction="ButtonClick" />
</group>
</tab>
</tabs>
</ribbon>
// Callback method
public bool GetCustomGroupVisible(IRibbonControl control)
{
bool makeVisible = false;
if ( // this is one of my custom mails !)
{
makeVisible = true;
}
return makeVisible;
}
我的问题是,当我打开一个新的检查器时,有时不会调用上面显示的回调方法"GetCustomGroupVisible"。为什么会这样?每次打开新的检查器时,我应该做些什么来执行这个回调方法。我错过了什么?
当NewInspector事件触发时,您需要强制功能区更新。调用IRibbonUI.Invalidate.IRibbonUI可以从OnLoad功能区回调中检索(必须在功能区XML中指定)。