展望 - 只有第一个" getVisible"要求contextMenu

时间:2018-06-12 09:06:40

标签: c# xml outlook-addin

使用此Outlook 2013,我在C#中开发了一个插件。我的ribbon.xml看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <contextMenus>
    <!-- Move mail to -->
    <contextMenu idMso="ContextMenuMailItem">
      <button id="MoveMailTo_CM"
              imageMso="CopyToFolder"
              insertBeforeMso="Copy"
              getLabel="MoveMailTo_GetLabel"
              getVisible="MoveMailTo_GetVisible"
              onAction="MoveMailTo_OnAction"/>
    </contextMenu>
    <!-- Manage holiday request -->
    <contextMenu idMso="ContextMenuMailItem">
      <button id="ManageHolidayRequest_CM"
              imageMso="CopyToPersonalCalendar"
              insertBeforeMso="Copy"
              label="Copy to Calendar"
              getVisible="ManageHolidayRequest_GetVisible"
              onAction="ManageHolidayRequest_OnAction" />
    </contextMenu>
  </contextMenus>
</customUI>

当我使用Visual Studio启动我的插件时,我右键单击一个电子邮件项目,只有第一个&#34; getVisible&#34;被称为(MoveMailTo_GetVisible)而不是另一个。

如果我切换两个菜单,则仅调用ManageHolidayRequest_GetVisible

在这种情况下我们不能指定两种不同的功能吗?任何解决方法?

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

答案是:我有两个jest.mock('expo', () => ({ AuthSession: { getRedirectUrl: jest.fn(), }, }));(因此对于同一个Mso)。只需在上下文菜单中合并两个按钮即可。