我正在开发一个Outlook加载项。我添加了一个带有一些控件的功能区,如下拉列表,复选框等。
我想仅在选择“收件箱”文件夹或“已发送邮件”文件夹时显示功能区。无论如何我能隐藏并展示我的缎带吗?
我尝试了一些方法,例如将功能区控件加载为xml文件,但是如果尝试使用功能区作为xml方式,我的功能区甚至不会加载。
我也试过这个。 Outlook Ribbon Customization
答案 0 :(得分:0)
您需要在Ribbon XML标记中使用getVisible
回调,以便能够动态更新运行时的控件可见性。
Ribbon UI(又名Fluent UI)控件在MSDN的以下系列文章中有详细介绍:
当资源管理器因用户操作或程序代码转到新文件夹时,会触发Explorer类的FolderSwitch事件。因此,您可以调用IRibbonUI接口的Invalidate或InvalidateControl方法,这些方法会强制主机应用程序刷新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文章中详细了解相关内容。