Windows Ribbon Framework Control Library

The topics contained in this section describe the set of controls that are included with the Windows Ribbon framework. The controls listed here are the UI objects in a ribbon that expose Command functionality.


The Ribbon framework is composed of components such as Tabs and the Quick Access Toolbar, that work together to deliver a rich UI experience. Individually, these components expose different types of Commands to give customers an organized, predictable experience across Ribbon applications. For example, each Tab exposes Commands related to creating and acting on specific parts of the content within the application workspace, whereas the Application Menu exposes functionality related to a complete project, such as an entire document, picture, or movie.

This topic provides a comprehensive list of Ribbon controls and includes a brief description for each control, with links to more detailed documentation where available.

The Controls

The Ribbon framework is composed of two Views: the Ribbon View and the ContextPopup View. Each View can host several components that act as presentation containers for all controls that are rendered and managed by the framework.

The Ribbon View hosts the ApplicationMenu element, QuickAccessToolbar element, and ribbon command bar while the ContextPopup View hosts a ContextMenu element, a MiniToolbar element, or both.

Each framework control is distinguished by the functionality associated with its Command type.

Basic Controls

Basic controls consist of one or more buttons that can be invoked by a single mouse click to perform a simple action.

Note  The Spinner is an exception as it contains an edit control.

The following table lists the basic controls in the Ribbon framework.

ControlMarkup Element
Button Button
Check Box CheckBox
Help Button HelpButton
Spinner Spinner
Toggle Button ToggleButton


Container Controls

Container controls are composed of groups of controls, menus, lists, or item and Command collections.

The framework distinguishes between two types of containers, static and dynamic.

Static Containers

Static containers are declared and populated, along with all associated resources, in the Ribbon markup file. These controls cannot be modified at run time.

The advantages of static controls include the following:

  • Rapid prototyping. Static controls make it possible to quickly build a Ribbon mock-up resembling a final Ribbon design that requires no complicated code.
  • Easy modifications. Most elements, attributes, resources, and layouts of static controls can be modified in markup.
  • Consistent UI. Well-designed applications provide a consistent and stable UI that avoids changes to menus and lists at run time.

The following table describes the static container controls in the Ribbon framework.

ControlMarkup Element
Application Menu ApplicationMenu
Context Popup ContextPopup
Drop-Down Button DropDownButton
Group Group
Menu Group MenuGroup
Split Button SplitButton
Tab Tab
Tab Group TabGroup


Dynamic Containers

Dynamic containers are declared in the Ribbon markup file. They feature a group of items or Commands that are created or modified at run time.

A subclass of dynamic containers, called galleries, are distinguished by their implementation of the IUICollection interface. This interface allows a control to expose its item or Command list as a collection, and to support updates based on both user interaction and run-time conditions. For more information, see Working with Galleries.

The following table lists the dynamic container controls in the Ribbon framework.

ControlMarkup Element
Combo Box ComboBox
Drop-Down Gallery DropDownGallery
In-Ribbon Gallery InRibbonGallery
Quick Access Toolbar QuickAccessToolbar
Recent Items RecentItems
Split Button Gallery SplitButtonGallery


Specialized Controls

The Ribbon framework contains a number of specialized controls for specific UI functionality.

The following table lists the specialized controls in the Ribbon framework.

ControlMarkup Element
Drop-Down Color Picker DropDownColorPicker
Font Control FontControl


Related topics

Understanding Commands and Controls



Community Additions