C# 4.0 如何仅在单击收件箱和sentitems文件夹时显示outlook功能区?

C# 4.0 如何仅在单击收件箱和sentitems文件夹时显示outlook功能区?,c#-4.0,outlook-addin,C# 4.0,Outlook Addin,我正在开发Outlook加载项。我添加了一个功能区,其中包含一些控件,如下拉框、复选框等 我只想在选中“收件箱”文件夹或“已发送邮件”文件夹时显示功能区。有什么我可以隐藏和显示我的丝带吗 我尝试了一些方法,比如将ribbon控件作为xml文件加载,但如果尝试将ribbon作为xml文件加载,我的ribbon甚至不会加载 我也试过这个。 您需要在功能区XML标记中使用getVisible回调,以便能够在运行时动态更新控件可见性 MSDN中的以下系列文章详细介绍了Ribbon UI(也称为Fluen

我正在开发Outlook加载项。我添加了一个功能区,其中包含一些控件,如下拉框、复选框等

我只想在选中“收件箱”文件夹或“已发送邮件”文件夹时显示功能区。有什么我可以隐藏和显示我的丝带吗

我尝试了一些方法,比如将ribbon控件作为xml文件加载,但如果尝试将ribbon作为xml文件加载,我的ribbon甚至不会加载

我也试过这个。

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

MSDN中的以下系列文章详细介绍了Ribbon UI(也称为Fluent UI)控件:

当资源管理器转到新文件夹时,由于用户操作或通过程序代码触发资源管理器类的事件。因此,您可以调用IRibbonUI接口的或方法,该接口强制主机应用程序刷新UI控件的缓存值。有关更多信息,请参阅

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

我尝试了一些方法,比如将ribbon控件作为xml文件加载,但如果尝试将ribbon作为xml文件加载,我的ribbon甚至不会加载


默认情况下,如果VSTO加载项尝试操作Microsoft Office用户界面(UI)但失败,则不会显示错误消息。但是,您可以将Microsoft Office应用程序配置为显示与UI相关的错误消息。您可以使用这些消息帮助确定自定义功能区不显示的原因,或功能区显示但不显示控件的原因。在文章中阅读更多关于这方面的内容

我使用ribbon作为可视化设计器,而不是xml。我根据此链接尝试了代码ThisAddIn.cs事件更改方法我能够找到已选择的文件夹,但在CurrentExplorer\u事件方法中我无法获取我的功能区或其控件。是否有任何方法可以访问此Addin.cs id中的ribbon控件,以便禁用这些控件?