C# 使用Windows功能区框架和C向功能区动态添加选项卡#

C# 使用Windows功能区框架和C向功能区动态添加选项卡#,c#,windows-ribbon-framework,C#,Windows Ribbon Framework,我想知道是否有任何方法可以使用Windows Ribbon Framework和C#动态添加选项卡 我正在开发一个应用程序,我需要它是可扩展的。使用托管可扩展性框架,我希望应用程序在功能区上为发现的插件动态安装新选项卡 我不能依赖功能区的XML标记,因为插件可以在以后添加和发现 如果有办法在运行时安装新选项卡,我希望在功能区选项卡上添加新插件,并通过已安装选项卡上的按钮公开其功能 如果有人告诉我专家们是如何做到这一点的,我也将不胜感激。提前谢谢。我认为以这种动态方式是不可能的。我在这里看到了两种

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

我正在开发一个应用程序,我需要它是可扩展的。使用托管可扩展性框架,我希望应用程序在功能区上为发现的插件动态安装新选项卡

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

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


如果有人告诉我专家们是如何做到这一点的,我也将不胜感激。提前谢谢。

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

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

如前所述,这两种方法都不能真正解决您的问题,但至少是问题的答案。

谢谢Lemke。我最初认为这会起作用,因为Excel能够发现外接程序并将其添加为新选项卡。我将尝试您建议的替代方案。Excel/Office不使用Windows Ribbon框架,而是完全不同的同一UI概念的实现。Office中使用的外接程序概念无法为您自己的应用程序重新使用/调整。