Skip to main content
A newer version of this page is available. .

RibbonPageGroup.ItemLinks Property

Gets the collection of bar item links displayed within the group.

Namespace: DevExpress.XtraBars.Ribbon

Assembly: DevExpress.XtraBars.v18.2.dll

Declaration

Property Value

Type Description
DevExpress.XtraBars.Ribbon.RibbonPageGroupItemLinkCollection

A DevExpress.XtraBars.Ribbon.RibbonPageGroupItemLinkCollection object which stores links that are displayed within the current group.

Remarks

Use this property to add, remove and access bar item links that are displayed within the current group.

Bar item links are used to visually represent bar items within the RibbonControl. When a bar item is added to the ItemLinks collection using the BarItemLinkCollection.Add or BarItemLinkCollection.AddRange method, a bar item link that represents this bar item is automatically created. The link is then added to the ItemLinks collection, but not the bar item itself.

Note

If you create bar items in code and use them within the RibbonControl, ensure that they are added to the RibbonControl.Items collection. You can add a bar item to this collection manually, or use the following methods to create bar items that will automatically add new items to the collection:

Example

This example demonstrates how to create a RibbonControl with one page (“Home”) and two page groups (“File” and “File 2”).

Ribbon_CreateTwoGroups_Ex

Ribbon commands are called bar items, as they are all derived from the BarItem class. This example creates three bar items - the Open, Close and Print buttons, encapsulated by the BarButtonItem objects. The Close and Print buttons are only added to the first group, while the Open button is added to both of the groups.

When bar items are created in code, ensure the following:

  1. All bar items are added to the RibbonControl.Items collection.

    This example demonstrates three ways of creating bar items while adding them to the RibbonControl.Items collection.

  2. All bar items have their BarItem.Id properties initialized to unique values. This ensures correct functioning of the bar item (de)serialization mechanism.

    The BarItem.Id properties can be initialized with the BarManager.GetNewItemId method accessible from the RibbonControl.Manager object. See the code below.

using DevExpress.XtraBars.Ribbon;
using DevExpress.XtraBars;

// Create a RibbonControl
RibbonControl ribbon = new RibbonControl();
this.Controls.Add(ribbon);
// Assign the image collection that will provide images for bar items.
ribbon.Images = imageCollection1;

// Create a Ribbon page.
RibbonPage page1 = new RibbonPage("Home");
// Create a Ribbon page group.
RibbonPageGroup group1 = new RibbonPageGroup("File");
// Create another Ribbon page group.
RibbonPageGroup group2 = new RibbonPageGroup("File 2");

// Create a button item using the CreateButton method.
// The created item is automatically added to the item collection of the RibbonControl.
BarButtonItem itemOpen = ribbon.Items.CreateButton("Open...");
itemOpen.ImageIndex = 0;
itemOpen.Id = ribbon.Manager.GetNewItemId(); //Ensures correct runtime layout (de)serialization.
itemOpen.ItemClick += new ItemClickEventHandler(itemOpen_ItemClick);

// Create a button item using its constructor.
// The constructor automatically adds the created item to the RibbonControl's item collection.
BarButtonItem itemClose = new BarButtonItem(ribbon.Manager, "Close");
itemClose.ImageIndex = 1;
itemClose.Id = ribbon.Manager.GetNewItemId(); //Ensures correct runtime layout (de)serialization.
itemClose.ItemClick += new ItemClickEventHandler(itemClose_ItemClick);

// Create a button item using the default constructor.
BarButtonItem itemPrint = new BarButtonItem();
// Manually add the created item to the item collection of the RibbonControl.
ribbon.Items.Add(itemPrint);
itemPrint.Caption = "Print";
itemPrint.ImageIndex = 2;
itemPrint.Id = ribbon.Manager.GetNewItemId(); //Ensures correct runtime layout (de)serialization.
itemPrint.ItemClick += new ItemClickEventHandler(itemPrint_ItemClick);

// Add the created items to the group using the AddRange method. 
// This method will create bar item links for the items and then add the links to the group.
group1.ItemLinks.AddRange(new BarItem[] { itemOpen, itemClose, itemPrint });
// Add the Open bar item to the second group.
group2.ItemLinks.Add(itemOpen);
// Add the created groups to the page.
page1.Groups.Add(group1);
page1.Groups.Add(group2);
// Add the page to the RibbonControl.
ribbon.Pages.Add(page1);
//...


void itemPrint_ItemClick(object sender, ItemClickEventArgs e) {
   //...
}

void itemClose_ItemClick(object sender, ItemClickEventArgs e) {
   //...
}

void itemOpen_ItemClick(object sender, ItemClickEventArgs e) {
   //...
}

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the ItemLinks property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also