RibbonPanel Class


Ribbon Panel Class

Represents a panel added by an External Application or External Command into the Add-Ins tab.
Inheritance Hierarchy
System Object
Autodesk.Revit.UI RibbonPanel

Namespace: Autodesk.Revit.UI
Assembly: RevitAPIUI (in RevitAPIUI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class RibbonPanel

The RibbonPanel type exposes the following members.

Properties
Name Description
Public property Enabled Gets or sets a value indicating whether the RibbonPanel can respond to user interaction.
Public property Name Gets or sets the name of the RibbonPanel.
Public property Title Gets or sets the text of the RibbonPanel.
Public property Visible Gets or sets a value indicating whether the RibbonPanel is displayed.
Top
Methods
Name Description
Public method AddItem Adds a Ribbon item to the panel.
Public method AddSeparator Adds a new Separator to the panel.
Public method Code example AddSlideOut Adds a slideout to the current panel.
Public method AddStackedItems(RibbonItemData, RibbonItemData) Adds two stacked items to the panel.
Public method AddStackedItems(RibbonItemData, RibbonItemData, RibbonItemData) Adds three stacked items to the panel.
Public method Equals Determines whether the specified Object is equal to the current Object .
(Overrides Object Equals(Object) )
Public method GetHashCode Serves as the default hash function.
(Inherited from Object )
Public method GetItems Gets a copy of the collection of RibbonItems assigned to the RibbonPanel.
Public method GetType Gets the Type of the current instance.
(Inherited from Object )
Public method ToString Returns a string that represents the current object.
(Inherited from Object )
Top
Remarks
The Panel class provides read and write access to the RibbonItems contained in the panel. Use of this class is not supported in Revit Macros.
Example
public Result OnStartup(UIControlledApplication application)
{
    // add new ribbon panel
    RibbonPanel ribbonPanel = application.CreateRibbonPanel("NewRibbonPanel");

    //Create a push button in the ribbon panel �NewRibbonPanel"
    string assembly = @"D:\Sample\HelloWorld\bin\Debug\HelloWorld.dll";
    PushButton pushButton = ribbonPanel.AddItem(new PushButtonData("Hello Button", 
        "Hello Button", assembly, "Hello.HelloButton")) as PushButton;

    // create bitmap image for button
    Uri uriImage = new Uri(@"D:\Sample\HelloWorld\bin\Debug\39-Globe_32x32.png");
    BitmapImage largeImage = new BitmapImage(uriImage);

    // assign bitmap to button
    pushButton.LargeImage = largeImage;

    // assign a small bitmap to button which is used if command
    // is moved to Quick Access Toolbar
    Uri uriSmallImage = new Uri(@"D:\Sample\HelloWorld\bin\Debug\39-Globe_16x16.png");
    BitmapImage smallImage = new BitmapImage(uriSmallImage);

    // assign small image to button
    pushButton.Image = smallImage;

    // add a vertical separator bar to the panel
    ribbonPanel.AddSeparator();

    // define 3 new buttons to be added as stacked buttons
    PushButtonData buttonRed = new PushButtonData ("Hello Red", "Hello Red", 
        assembly, "Hello.HelloRed");
    buttonRed.Image = new BitmapImage(new Uri(@"D:\Sample\HelloWorld\bin\Debug\Red.bmp"));
    PushButtonData buttonBlue = new PushButtonData("Hello Blue", "Hello Blue", 
        assembly, "Hello.HelloBlue");
    buttonBlue.Image = new BitmapImage(new Uri(@"D:\Sample\HelloWorld\bin\Debug\Blue.bmp"));
    PushButtonData buttonGreen = new PushButtonData("Hello Green", "Hello Green", 
        assembly, "Hello.HelloGreen");
    buttonGreen.Image =
        new BitmapImage(new Uri(@"D:\Sample\HelloWorld\bin\Debug\Green.bmp"));

    // add 3 stacked buttons to the panel
    ribbonPanel.AddStackedItems(buttonRed, buttonBlue, buttonGreen);

    // add a pull-down button to the panel 
    PulldownButton pulldownButton = ribbonPanel.AddItem(new PulldownButtonData("Hello", 
        "Hello 123")) as PulldownButton;
    pulldownButton.LargeImage =
        new BitmapImage(new Uri(@"D:\Sample\HelloWorld\bin\Debug\Hello.bmp"));

    // add some menu items to the pull-down button and assign bitmaps to them
    PushButton buttonOne = pulldownButton.AddPushButton(new PushButtonData("Hello One", 
        "Hello 123", assembly, "Hello.HelloOne"));
    buttonOne.LargeImage =
        new BitmapImage(new Uri(@"D:\Sample\HelloWorld\bin\Debug\One.bmp"));
    PushButton buttonTwo = pulldownButton.AddPushButton(new PushButtonData("Hello Two", 
        "Hello 123", assembly, "Hello.HelloTwo"));
    buttonTwo.LargeImage =
        new BitmapImage(new Uri(@"D:\Sample\HelloWorld\bin\Debug\Two.bmp"));
    PushButton buttonThree = pulldownButton.AddPushButton(new PushButtonData("Hello Three", 
        "Hello 123", assembly, "Hello.HelloThree"));
    buttonThree.LargeImage =
        new BitmapImage(new Uri(@"D:\Sample\HelloWorld\bin\Debug\Three.bmp"));

    return Result.Succeeded;
}
See Also