使用Windows Ribbon Framework和C#动态添加选项卡到功能区

时间:2016-06-13 20:05:58

标签: c# windows-ribbon-framework

我想知道是否有任何方法可以使用Windows Ribbon Framework和C#动态添加标签。

我正在开发一个我需要它可扩展的应用程序。使用Managed Extensibility Framework,我希望应用程序在功能区上为已发现的插件动态安装新选项卡。

我不能依赖功能区的XML标记,因为可以在以后添加和发现插件。

如果有办法在运行时安装新标签,我会希望在功能区标签上添加新插件,并通过已安装标签上的按钮公开其功能。

如果我被指导专家如何做,我将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为以这种动态的方式是不可能的。我在这里看到两种选择,但它们可能都不是你想要的:

  • 为应用程序中可能包含的每个插件组合创建标记资源,并使用IUIFramework::LoadUI加载相应的资源。这当然是非常静态的,因此与插件系统的想法相矛盾。
  • 为每个插件定义“上下文选项卡”。可以在运行时期间动态显示/隐藏这些选项卡。但是,在运行时,您将无法创建新的上下文选项卡,因此这又是一种静态解决方案。

如上所述,这些都不是解决问题的真正方法,但至少可以回答问题。