gpt4 book ai didi

c# - 在 XML 功能区中以编程方式访问功能区元素

转载 作者:太空狗 更新时间:2023-10-29 18:32:25 24 4
gpt4 key购买 nike

这似乎在这里被问了好几次都没有真正的答案:

Accessing Ribbon Controls Programatically in an XML Ribbon

Office Ribbon: How to access a control when the ribbon was created using XML

如果功能区是使用功能区 xml 创建的,据我所知,该 xml 中定义的组件不会以编程方式公开。更改这些组件状态的唯一明显受限的方法是使用诸如 onAction、getContent、getImage 事件之类的方法,而 IRibbonControl 元素提供的操作相关元素的功能很少(更不用说,大多数这些函数只运行一次,首次呈现时)。

所以我试图找到一种方法来以编程方式访问这些 xml 功能区元素。

最佳答案

使用功能区 XML 时无法以编程方式访问功能区元素。如果您想更改功能区控件的状态 - 您需要使用 IRibbonUI.Invalidate() 强制重新呈现布局(可能使用在呈现时触发不同行为的属性通过回调)。这可能是一件好事,因为如果您要更改多个项目的状态,您可以更好地控制何时进行绘制。

参见 related SO post关于更新功能区 UI 控件状态。

如果你想以编程方式访问功能区元素,你应该使用 Ribbon Designer .然而,作为stated on MSDN , 设计器不支持所有自定义。一些speculate that the designer just wraps the Ribbon XML在引擎盖下为您服务。

你只需要学习 callback mechanism utilized by the Ribbon XML - 没有可供您访问的控制树。

关于c# - 在 XML 功能区中以编程方式访问功能区元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9353151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com