【问题标题】:How to add a RibbonButton to a context menu in Outlook?如何将 RibbonButton 添加到 Outlook 的上下文菜单中?
【发布时间】:2013-03-04 06:21:59
【问题描述】:

我不知道如何在 Outlook 2013 的上下文菜单中添加自定义按钮。在 Outlook 2007 和 2010 中,我设法使用 CommandBarButton 成功地做到了这一点,但在 2013 年不再可能了。不幸的是,我可以找不到如何转换我的代码或缓解问题的教程。

我现在的问题是:如何创建、添加和访问应该出现在邮件、日历和联系人项目的 Outlook 上下文菜单中的自定义 RibbonButton?

我已经尝试过这样的简单代码:

<?xml version="1.0" encoding="utf-8" ?>
<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  <contextMenus>
    <contextMenu idMso="ContextMenuMailItem">
      <button id="MyContextMenuContactItem"
           label="ContextMenuContactItem"
           onAction="OnMyButtonClick"/>
    </contextMenu>
  </contextMenus>
</customUI>

...但是什么也没发生,它没有显示出来。它的 .cs 文件的构造函数被调用,但没有别的。

如果我尝试通过编程方式添加它

Globals.Factory.GetRibbonFactory().CreateRibbonButton()

..那么我不知道如何将它添加到预先存在的上下文菜单中。

我一定遗漏了将项目添加到上下文菜单所必需的东西。谁能指点一下?

PS:我正在使用 Outlook 2007 进行测试。

【问题讨论】:

    标签: button outlook contextmenu ribbon


    【解决方案1】:

    问题是由 Visual Studio 自动插入的错误存根引起的。 GetCustomUI 的返回值始终为 null,因为 GetResourceText 找不到资源(尽管对我来说它看起来有效)。当我把它改成File.ReadAllText(Properties.Resources.MyRibbonXmlFile)时,Ribbon_Load终于被调用了。

    【讨论】:

      猜你喜欢
      • 2015-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多