我正在尝试访问builtIn功能区中的标签并尝试更改其在后台工作程序中的可见性。但它不起作用。
我的代码是
Globals.Ribbons.MailReadItemRibbon.verifyLabel.Visible = true;
如果有人知道我做错了什么。请帮忙。
答案 0 :(得分:0)
首先,您不应该从辅助线程访问任何UI控件。允许仅对主线程上的UI进行任何更改。您可以考虑使用Control.Invoke方法在拥有控件底层窗口句柄的线程上执行委托。
其次,Fluent UI(又名Ribbon UI)从诞生开始就是一个静态的东西。唯一可能的动力是回调。所以,我建议使用IRibbonUI的Invalidate或InvalidateControl方法来回调。请查看以下文章中的示例代码:
对于加载项实现的每个回调,都会缓存响应。例如,如果加载项编写器为按钮实现getImage回调过程,则调用该函数一次,加载图像,然后如果需要更新图像,则使用缓存图像而不是调用过程。此过程保持原位,直到加载项通过使用Invalidate方法表示缓存值无效,此时,再次调用回调过程并缓存返回响应。
Fluent UI(又名Ribbon UI)将在以下系列文章中进行深入介绍: