带 SplitButtons/PullDownButton 和按钮的功能区结构

Ribbon structure with SplitButtons/PullDownButton and PushButtons

我已经为 AutoCAD 开发了一个涉及级联下拉菜单的插件,我想在 Revit 中做同样的事情,但是由于缺少 CUI 文件和这样的

我正在使用功能区看看我是否可以在那里做同样的事情并且一直在玩 SplitButtons、PulldownButtons 和 Pushbuttons 并发现了一些东西。

在此之前,我想要完成的图像是 here:

Electrical PulldownButton 包含另一个名为 Wire 的 PulldownButton。无论是使用 Pulldowns 还是 SplitButtons,我都想为此设置多个层。

我在使用 Revit API 在 C# 中编程时发现的是 SplitButtons 和 PulldownButtons 无法添加其自身的实例,只能添加 PushButtons!这让我感到困惑,因为他们能够在上图中做到这一点。

编辑:attached here 是 Revit 中级联菜单的图片。有人告诉我这是可能的,但实施起来相当困难。

您可能正在寻找 sample like this

public void AddSplitButton(RibbonPanel panel)
{
  // Create three push buttons for split button drop down 

  // #1 
  PushButtonData pushButtonData1 = new PushButtonData("SplitCommandData", "Command Data", _introLabPath, _introLabName + ".CommandData");
  pushButtonData1.LargeImage = NewBitmapImage("ImgHelloWorld.png");

  // #2 
  PushButtonData pushButtonData2 = new PushButtonData("SplitDbElement", "DB Element", _introLabPath, _introLabName + ".DBElement");
  pushButtonData2.LargeImage = NewBitmapImage("ImgHelloWorld.png");

  // #3 
  PushButtonData pushButtonData3 = new PushButtonData("SplitElementFiltering", "ElementFiltering", _introLabPath, _introLabName + ".ElementFiltering");
  pushButtonData3.LargeImage = NewBitmapImage("ImgHelloWorld.png");

  // Make a split button now 
  SplitButtonData splitBtnData = new SplitButtonData("SplitButton", "Split Button");
  SplitButton splitBtn = panel.AddItem(splitBtnData) as SplitButton;
  splitBtn.AddPushButton(pushButtonData1);
  splitBtn.AddPushButton(pushButtonData2);
  splitBtn.AddPushButton(pushButtonData3);
}

我完全同意奥古斯托的观点。这是不受支持和无证件的领土。 Building Coder 在 'Automation' 类别或帖子中演示了一些使用 AdWindows.dll 提供的不受支持的功能的示例:

http://thebuildingcoder.typepad.com/blog/automation

Revit SDK 中包含的 RvtSamples 外部应用程序提供了一个添加大量按两级或三级层次结构排列的菜单项的具体示例。