为ContextMenuMailItem和ContextMenuMultipleItems

时间:2017-05-28 14:58:27

标签: vsto outlook-addin ribbon

将项目添加到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>

1 个答案:

答案 0 :(得分:1)

无法重用padding属性,但还有另一个可重复使用的属性 - id

tag

然后在代码中,您可以确定命令不是由<button id="DoThis1" tag="DoThis" ... /> <button id="DoThis2" tag="DoThis" /> 确定,而是由控件的Id属性确定。