0
我试图访问builtIn功能区中的标签并尝试更改背景工作人员内部的可见性。但它不工作。使用VSTO在Outlook中访问功能区中的控件
我的代码是
Globals.Ribbons.MailReadItemRibbon.verifyLabel.Visible = true;
如果有谁知道我做错了。请帮忙。
我试图访问builtIn功能区中的标签并尝试更改背景工作人员内部的可见性。但它不工作。使用VSTO在Outlook中访问功能区中的控件
我的代码是
Globals.Ribbons.MailReadItemRibbon.verifyLabel.Visible = true;
如果有谁知道我做错了。请帮忙。
首先,您不应该从辅助线程访问任何UI控件。只允许在主线程上对UI进行任何更改。您可以考虑使用Control.Invoke方法,该方法在拥有控件底层窗口句柄的线程上执行委托。其次,流利用户界面(aka Ribbon UI)从诞生起就是一个静态的东西。唯一可能的动态是回调。所以,我建议使用回调与IRibbonUI的Invalidate或InvalidateControl方法相反。看看示例代码下面的文章:
对于每一个回调外接器具,响应缓存。例如,如果加载项编写器为按钮实现getImage回调过程,则会调用该函数一次,加载图像,然后如果需要更新图像,则会使用缓存图像而不是调用该过程。此过程保持原位,直到加载项通过使用Invalidate方法指示缓存的值无效,此时再次调用回调过程并缓存返回响应。
的流利UI(又名色带UI)在深度在以下系列文章中描述