RibbonPageCategoryCollection Class

Represents a collection of RibbonPageCategory objects.

Namespace: DevExpress.XtraBars.Ribbon

Assembly: DevExpress.XtraBars.v20.1.dll

Declaration

[ListBindable(false)]
public class RibbonPageCategoryCollection :
    CollectionBase,
    IList,
    ICollection,
    IEnumerable
<ListBindable(False)>
Public Class RibbonPageCategoryCollection
    Inherits CollectionBase
    Implements IList,
               ICollection,
               IEnumerable

Related API Members

The following members accept/return RibbonPageCategoryCollection objects:

Remarks

This class represents a collection of RibbonPageCategory objects. It provides methods to add, remove and access elements in the collection.

The RibbonControl provides the RibbonControl.PageCategories property representing a collection of custom page categories. Use custom page categories to implement contextual tabs, as in the Microsoft Office 2007 UI. See Categories and Contextual Tabs to learn more.

Examples

The following example demonstrates how to create contextual tab pages in the RibbonControl in code.

In the example, a RibbonControl control is created containing one permanently displayed page ("Home") and two contextual pages ("Format" and "Clipboard"). The contextual pages are combined into a custom page category ("Selection").

Contextual pages are hidden when they are created. They are made visible later via the category's RibbonPageCategory.Visible property.

The following image demonstrates code execution:

CreateContextualTabs_Ex

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

// Create a RibbonControl.
RibbonControl Ribbon = new RibbonControl();
// Assign a collection of images that will be used by bar items.
Ribbon.Images = imageCollection1;            
// Create a page and associate it with the default category.
RibbonPage pageHome = new RibbonPage("Home");
Ribbon.Pages.Add(pageHome);
// Create a custom Selection page category.
RibbonPageCategory catSelection = new RibbonPageCategory("Selection", Color.LightPink, false);
Ribbon.PageCategories.Add(catSelection);
// Create two contextual pages (Format an Clipboard)in the Selection category.
RibbonPage contextPageFormat = new RibbonPage("Format");
RibbonPage contextPageClipboard = new RibbonPage("Clipboard");
catSelection.Pages.AddRange(new RibbonPage[] {contextPageFormat, contextPageClipboard});

// Customize the Format page by adding a Format group with two bar items to it.
RibbonPageGroup groupFormat = new RibbonPageGroup("Format");
groupFormat.AllowTextClipping = false;
// Add two items to the Format group
BarButtonItem itemCopy = new BarButtonItem(Ribbon.Manager, "Copy", 0);
BarButtonItem itemCut = new BarButtonItem(Ribbon.Manager, "Cut", 1);
groupFormat.ItemLinks.AddRange(new BarItem[] {itemCopy, itemCut});
contextPageFormat.Groups.Add(groupFormat);
// Subscribe to an event which fires when any item is clicked.
Ribbon.ItemClick += new ItemClickEventHandler(Ribbon_ItemClick);

// Add the RibbonControl to the form.
this.Controls.Add(Ribbon);

//...

// Make the Selection category visible
catSelection.Visible = true;
// Activate the category's first page.
Ribbon.SelectedPage = catSelection.Pages[0];


// Respond to item clicking.
void Ribbon_ItemClick(object sender, ItemClickEventArgs e) {
    //...
}

Inheritance

Object
CollectionBase
RibbonPageCategoryCollection
See Also