为 ContextMenuMailItem 和 ContextMenuMultipleItems 重复使用相同的 contextMenu xml

Reusing the same contextMenu xml for ContextMenuMailItem and ContextMenuMultipleItems

在 VSTO outlook 加载项(适用于 Outlook 2009+)中向上下文菜单(功能区)添加项目时,有没有办法为多个 idMso 使用相同的上下文菜单(即,我想选择单个或多个电子邮件时添加相同的项目)?我尝试了下面的 xml,但架构不喜欢我在多个地方重复使用相同的按钮 ID。

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <contextMenus>
    <contextMenu idMso="ContextMenuMailItem">
      <button id="DoThis"
          label="Label"
          onAction="DoThis"
          getVisible="GetVisible"/>
    </contextMenu>
    <contextMenu idMso="ContextMenuMultipleItems">
      <button id="DoThis"
          label="Label"
          onAction="DoThis"
          getVisible="GetVisible"/>
    </contextMenu>
  </contextMenus>  
</customUI>

理想情况下,我想我想要这样的东西:

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <contextMenus>
    <contextMenu idMso="ContextMenuMailItem,ContextMenuMultipleItems">
      <button id="DoThis"
          label="Label"
          onAction="DoThis"
          getVisible="GetVisible"/>
    </contextMenu>
  </contextMenus>  
</customUI>

无法重用 id 属性,但还有另一个属性可以重用 - tag:

<button id="DoThis1" tag="DoThis" ... />
<button id="DoThis2" tag="DoThis" />

那么在代码中就可以不通过Id而是通过控件的Tag属性来确定命令了。