【问题标题】:Altering inspector custom ribbon controls dynamiccaly动态更改检查器自定义功能区控件
【发布时间】:2016-07-30 05:14:09
【问题描述】:

在我的 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”。为什么会这样?每次我打开一个新的检查器时,我应该怎么做才能执行这个回调方法。我错过了什么?

【问题讨论】:

    标签: c# outlook-addin ribbon-control


    【解决方案1】:

    当 NewInspector 事件触发时,您需要强制更新功能区。调用 IribbonUI.Invalidate。 IRibbonUI 可以从 OnLoad 功能区回调中检索(必须在功能区 XML 中指定)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-28
      • 2010-11-27
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      相关资源
      最近更新 更多