【问题标题】:Outlook Ribbon XML - Only one instance for all inspectorsOutlook Ribbon XML - 所有检查员只有一个实例
【发布时间】:2017-04-23 13:56:05
【问题描述】:

我正在开发一个 Outlook 插件,它扩展了电子邮件撰写检查器和后台的功能区。问题解释得很快。 所有检查员似乎只有一个功能区实例。

当第一个检查器窗口打开时,在 OnLoad 中定义的回调触发。 对于所有以下检查员来说,它没有。 由于这个事实,我不能为每个检查员提供功能区“代码隐藏”类的实例,并且所有检查员共享相同的按钮属性,如可见性、启用/禁用等。

如何为每个检查器窗口拥有一个独立的 Ribbon 对象?

这是我的功能区 XML:

<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <ribbon>
    <tabs>
        <tab idMso="TabNewMailMessage">
            <group id="groupSpatium">
                <toggleButton id="toggleShare" imageMso="FilePublishAsWebPage" onAction="ToggleShare_Click" description="Click to share files" label="Send" size="large" getEnabled="IsShareEnabled" getPressed="IsShareChecked" />
                <toggleButton id="toggleReceive" imageMso="EmailFormCollectionFolder" onAction="ToggleReceive_Click" description="Click to receive files" label="Receive" size="large" getEnabled="IsReceiveEnabled" getPressed="IsReceiveChecked"  />
            </group>
        </tab>
    </tabs>
  </ribbon>
  <backstage>
    <tab id="ShareBackstage" label="Noerr Share">
      <firstColumn>
        <group id="AlwaysPasswordProtectGroup" label="Password protection and access control" helperText ="Set options for password protection of and access to uploaded files.">
          <bottomItems>
            <checkBox id="AlwaysPasswordProtect" label="Password protect all uploads" getPressed="IsAlwaysPasswordprotectChecked" onAction="AlwaysPasswordprotect_Click"/>
            <checkBox id="AlwaysRequireRegistration" label="Require registration for all password protected uploads" getPressed="IsAlwaysRequireRegistrationChecked" onAction="AlwaysRequireRegistration_Click" getEnabled="IsAlwaysPasswordprotectChecked"/>
          </bottomItems>
        </group>
      </firstColumn>
    </tab>
  </backstage>
</customUI>

感谢您的帮助

【问题讨论】:

    标签: c# xml outlook add-in ribbon


    【解决方案1】:

    OnLoad 触发时,它会给你RibbonUI 对象。当你想显示/隐藏/启用/禁用你的控件时,用它来调用RibbonUI.Invalidate

    所有回调都会通过将IRibbonControl 接口作为参数传递给您上下文。阅读 IRibbonControl.Context 属性 - 它将是托管控件的 Explorer 或 Inspector 对象。

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2016-06-11
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多