SplitButton Class


The SplitButton object represents a button with a clickable button appearing above a pulldown.

Namespace: Autodesk.Revit.UI
Assembly: RevitAPIUI (in RevitAPIUI.dll) Version: 24.0.0.0 (24.0.0.0)
Since: 2011

Syntax

C#
public class SplitButton : PulldownButton
Visual Basic
Public Class SplitButton _
	Inherits PulldownButton
Visual C++
public ref class SplitButton : public PulldownButton

Remarks

Use of this class is not supported in Revit Macros.

Examples

CopyC#
private void AddSplitButton(RibbonPanel panel)
{
    string assembly = @"D:\Sample\HelloWorld\bin\Debug\HelloWorld.dll";

    // create push buttons for split button drop down
    PushButtonData bOne = new PushButtonData("ButtonNameA", "Option One",
        assembly, "Hello.HelloOne");
    bOne.LargeImage = 
        new BitmapImage(new Uri(@"D:\Sample\HelloWorld\bin\Debug\One.bmp"));

    PushButtonData bTwo = new PushButtonData("ButtonNameB", "Option Two",
        assembly, "Hello.HelloTwo");
    bTwo.LargeImage = 
        new BitmapImage(new Uri(@"D:\Sample\HelloWorld\bin\Debug\Two.bmp"));

    PushButtonData bThree = new PushButtonData("ButtonNameC", "Option Three",
        assembly, "Hello.HelloThree");
    bThree.LargeImage = 
        new BitmapImage(new Uri(@"D:\Sample\HelloWorld\bin\Debug\Three.bmp"));

    SplitButtonData sb1 = new SplitButtonData("splitButton1", "Split");
    SplitButton sb = panel.AddItem(sb1) as SplitButton;
    sb.AddPushButton(bOne);
    sb.AddPushButton(bTwo);
    sb.AddPushButton(bThree);
}
CopyVB.NET
Private Sub AddSplitButton(panel As RibbonPanel)
   Dim assembly As String = "D:\Sample\HelloWorld\bin\Debug\HelloWorld.dll"

   ' create push buttons for split button drop down
   Dim bOne As New PushButtonData("ButtonNameA", "Option One", assembly, "Hello.HelloOne")
   bOne.LargeImage = New BitmapImage(New Uri("D:\Sample\HelloWorld\bin\Debug\One.bmp"))

   Dim bTwo As New PushButtonData("ButtonNameB", "Option Two", assembly, "Hello.HelloTwo")
   bTwo.LargeImage = New BitmapImage(New Uri("D:\Sample\HelloWorld\bin\Debug\Two.bmp"))

   Dim bThree As New PushButtonData("ButtonNameC", "Option Three", assembly, "Hello.HelloThree")
   bThree.LargeImage = New BitmapImage(New Uri("D:\Sample\HelloWorld\bin\Debug\Three.bmp"))

   Dim sb1 As New SplitButtonData("splitButton1", "Split")
   Dim sb As SplitButton = TryCast(panel.AddItem(sb1), SplitButton)
   sb.AddPushButton(bOne)
   sb.AddPushButton(bTwo)
   sb.AddPushButton(bThree)
End Sub

Inheritance Hierarchy

SystemObject
  Autodesk.Revit.UIRibbonItem
    Autodesk.Revit.UIRibbonButton
      Autodesk.Revit.UIPulldownButton
        Autodesk.Revit.UISplitButton

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →