【问题标题】:How to show outlook ribbon only on clicking inbox and sentitems folder?如何仅在单击收件箱和已发送邮件文件夹时显示 Outlook 功能区?
【发布时间】:2016-02-27 22:09:53
【问题描述】:

我正在开发 Outlook 加载项。我添加了一个带有一些控件的功能区,例如下拉菜单、复选框等。

我只想在选择收件箱文件夹或已发送邮件文件夹时显示功能区。无论如何我可以隐藏和显示我的丝带吗?

我尝试了几种方法,例如将功能区控件加载为 xml 文件,但如果尝试使用功能区作为 xml 方式,我的功能区甚至没有加载。

我也试过这个。 Outlook Ribbon Customization

【问题讨论】:

    标签: c#-4.0 outlook-addin


    【解决方案1】:

    您需要在功能区 XML 标记中使用 getVisible 回调,以便能够在运行时动态更新控件的可见性。

    Ribbon UI(又名 Fluent UI)控件在 MSDN 中的以下系列文章中进行了深入描述:

    Explorer 类的FolderSwitch 事件在资源管理器进入新文件夹时触发,无论是作为用户操作的结果还是通过程序代码。因此,您可以调用 IRibbonUI 接口的 InvalidateInvalidateControl 方法,强制主机应用程序刷新 UI 控件的缓存值。有关更多信息,请参阅Overview of the IRibbonUI Object

    因此,当您需要在其中显示控件的文件夹触发 FolderSwitch 事件时,您只需调用 Invalidate 方法并在 getVisible 回调中返回 true。就是这样!

    我尝试了几种方法,例如将功能区控件加载为 xml 文件,但如果尝试使用功能区作为 xml 方式,我的功能区甚至没有加载。

    默认情况下,如果 VSTO 加载项尝试操作 Microsoft Office 用户界面 (UI) 并失败,则不会显示任何错误消息。但是,您可以将 Microsoft Office 应用程序配置为显示与 UI 相关的错误消息。您可以使用这些消息来帮助确定为什么不显示自定义功能区,或者为什么显示功能区但不显示控件。在How to: Show Add-in User Interface Errors 文章中阅读更多相关信息。

    【讨论】:

    • 我使用功能区作为视觉设计师而不是 xml。我按照此链接msdn.microsoft.com/en-us/library/… ThisAddIn.cs 事件更改方法尝试了代码,我能够找到选择了哪个文件夹,但在 CurrentExplorer_Event 方法中我无法获取我的功能区或其控件。有什么方法可以访问 ThisAddIn.cs id 中的功能区控件,以便我可以禁用这些控件?
    猜你喜欢
    • 2018-09-05
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    相关资源
    最近更新 更多