Sir*_*tan 8 c# outlook ms-office office-addins
这似乎已经多次被问到这里没有真正的答案:
如果使用功能区xml创建功能区,据我所知,没有编程在该xml中定义的组件.改变这些组件状态的唯一明显有限的方法是使用类似onAction,getContent,getImage事件的东西,而IRibbonControl元素对于操纵有问题的元素几乎没有提供(更不用说,大多数这些函数只运行一次) ,首次渲染时).
所以我试图找到一种以编程方式访问这些xml功能区元素的方法.
使用Ribbon XML时,无法以编程方式访问Ribbon元素.如果要更改功能区控件的状态 - 您需要使用IRibbonUI.Invalidate()强制布局的新渲染(可能使用通过回调在渲染时触发不同行为的属性).这可能是一件好事,因为如果您要更改多个项目的状态,您可以更好地控制何时进行绘图.
如果要以编程方式访问功能区元素,则应使用功能区设计器.但是,如MSDN所述,设计人员不支持所有自定义.有人推测,设计师只需为您提供Ribbon XML.
您只需要学习Ribbon XML使用的回调机制 - 没有控制树可供您访问.