以编程方式将RibbonPage / Group / Item添加到已合并的RibbonControl中

时间:2017-01-16 15:20:36

标签: c# .net winforms plugins devexpress

我正在开发插件框架,它将接受插件,它实现了我的公共接口,并且使用 DevExpress.RibbonControl完成了GUI 。加载插件并将插件框架 RibbonControl 插件 RibbonControl 合并,没有任何问题。当我在 PageGroup 中创建 RibbonPage RibbonPagrGroup 时,以编程方式将其添加到我的插件 RibbonControl 屏幕上没有任何内容,但是当我调试时,我可以看到元素已添加到我的插件RibbonControl 中。似乎DevExpress不重绘插件RibbonControl 框架RibbonControl 之间合并后添加的内容。现在的问题是我的框架不知道什么时候需要 UnmergeRibbon() MergeRibbon()所以我的问题是:有没有从我的插件代码强制 MergedRibbons “ReMerge()”

顺便说一句,我正在使用DevExpress版本14.2.11。

1 个答案:

答案 0 :(得分:1)

合并是一次性操作,因此必须在合并两个RibbonControl之前添加所有项目。操作完成后,更新父RibbonControl的唯一方法是,如果项目动态添加到子项,则手动取消合并RibbonControl并再次合并它们。

merge / unmerge RibbonControls有公共方法,但这不是正确的方法。正确的方法是在显示其容器之前将所有项添加到子RibbonControl。

在开发插件框架而不是简单的WinForms应用程序时,这可能并不容易。如果没有办法在适当的时候添加项目,可能更容易开发一个简单的自定义合并/取消合并功能,根据您自己的规则添加/删除项目。