Because every action starts with the presentation layer
SandRibbon for WPF
  Home Products Downloads Store Support Corporate  
Overview    Designer Support    Features    Live Demo   
SandRibbon Features in Depth

Operating Systems

  • Windows XP, 2003
  • Windows Vista, 2008
  • Windows 7

Development Environments

  • Visual Studio 2008
  • Visual Studio 2010 *
  • Expression Blend 3
  • Expression Blend 4 *

* Includes designer integration


SandRibbon for WPF supports virtually all the capabilities supported by the Office 2007 and Office 2010 user interfaces and presents them with an intuitive API that takes full advantage of the capabilities offered by the WPF platform and Visual Studio. This is not an exhaustive list of its features but is provided for guidance. If you cannot see a feature here, please try the evaluation version or contact us to ask us about it.

All features summarised here are explained in greater detail further down the page.

Dynamic Resizing

With SandRibbon it is easy to specify multiple sizes for each group you define on the ribbon. When these sizes are applied you can make your buttons, galleries and other controls rearrange and resize themselves in turn to create different combined sizes.

We provide buttons which can assume different sizes, a layout panel which can form three lines instead of two with its children, a layout panel which attempts to squeeze children into as little space as possible and ribbon galleries which can condense themselves to just a dropdown button. When combined, these tools can product exactly the same intelligent resizing as seen in the Microsoft Office applications. Our extensive designer support helps make configuring such resizing as easy as possible.

ICommand and RoutedCommand Integration

The buttons and menu items you'll use in SandRibbon both fully support being bound to commands with the WPF commanding infrastructure. In this way, it is easy to create a ribbon with fully-functioning buttons that perform editing or application commands without writing a single line of code. When bound, controls can take their text, enabled and even checked state all from the command itself, without writing a single line of code.

Commands are a very robust means of input and application logic, and our demonstration application shows how to integrate them best with SandRibbon.

Application Button

The application button is our name for the Office button from Office. It is a large, round button at the top of the window that presents a dropdown containing functionality previously found in the File menu. The application button typically shows the icon associated with the application and is rendered as a glassy sphere. Double-clicking the button closes the window.

If you're using the Office 2010 style, the glassy sphere is gone again and replaced with the good-old File menu, whose distinctive color is configurable so that it matches the color scheme for your product.

Quick Access Toolbar and User Customization

Most applications will feature a quick access toolbar alongside the ribbon, which can be placed below or above the ribbon itself. This toolbar can contain the same types of items as the ribbon, and typically presents commands that should be available no matter which ribbon tab is open, such as Save, Undo and Print.

When user customization is enabled, the toolbar also serves as a container for shortcuts. The user can add shortcuts to often-used buttons, menu items and galleries to the toolbar to enhance their productivity. They can do this either by right-clicking any ribbon control, or choosing from a list of standard shortcuts which are defined by the developer and appear in the dropdown menu next to the toolbar.

Contextual Tabs

Of all the ribbon tabs you have configured for your application, you may want some groups of tabs to only be visible in certain modes. For example, a tab dealing with picture editing should only be visible when a picture is selected.

In SandRibbon, you configure a number of Editing Contexts on the ribbon, then simply associate any number of tabs with an editing context. Those tabs will no longer be visible unless that editing context is active. Setting the active editing context is one method call. Contextual tabs are displayed slightly differently and the color of their editing context is used to differentiate them.


Of course, at the core of the ribbon are the buttons that are eventually presented to the user. Buttons can be activated with the keyboard or with the mouse. They are usually assigned a standard size (large, medium or small) and can automatically condense themselves smaller than this when the ribbon is shrunk by the user, if desired. Buttons are either displayed standalone or in a button group, where they gain a different appearance.

When a popup is associated with a button it shows a dropdown arrow. The dropdown arrow can be either integral to the button or displayed as a separate clickable part. Just like in Office, the dropdown indicator for a vertical button can actually be integrated right into the text, to save space. Large buttons automatically integrate a line break into their appearance. Small features like these add up to better overall presentation of your user interface.

Right-to-left Support

When writing software it is absolutely essential that it fully supports right-to-left reading order for those locales and languages that demand it (such as Arabic). WPF provides a great platform on which to implement full right-to-left support, and when using SandRibbon you can be assured of correct mirroring when required.

Advanced Office-style popups

Popups are used throughout the product, they are normally associated with a button or menu item but are also used by galleries, collapsed ribbon groups and the ribbon itself when minimized. You can use a special kind of popup as a relacement for the stock WPF context menu, which allows you access to the more advanced controls in the SandRibbon library.

Typically along with a menu, you could have headings, a color picker or a gallery in your SandRibbon popup. You can also include any other standard WPF control.


The Gallery control offers a scrollable window on to a collection of gallery buttons. This allows an interface where a group of buttons or other choices is displayed as a scrollable list. A special type of gallery can be used in a ribbon directly. When placed in a ribbon you can choose to associate a further popup with your gallery, where the items in your ribbon gallery will be made available too.

Gallery buttons are special buttons that allows easy owner-drawing by the host application. In this way your interface can provide visual cues to the user of what the effect of clicking each button will be. For example you might want a gallery to display all the different types of underline styles that are available, like in Microsoft Word. You would simply fill a gallery with as many buttons as needed and respond to their events to draw a preview of each option, which we do in the demonstration application.

You can choose to enable grouping of gallery buttons, by assigning each one a textual group name.

Live Preview

Live preview refers to the ability for your application to show a preview of what would happen to the user's selection if they clicked an item, as they hover over it. SandRibbon makes this very easy by exposing an event and passing the control being hovered over to it. Your application passes an instance of a class implementing a simple live preview interface back to SandRibbon, which allows the library to "undo" the preview as the user hovers over other controls or stops previewing altogether. This API is robust and is taken advantage of in the simple word processor sample application.

Resizable Popups

Some popups will contain scrollable galleries, and in this case it is natural that the user may want to resize the popup if they have a lot of screen space, so they can see all the options at once. SandRibbons allows you to specify that a popup should be resizable, either vertically or both horizontally and vertically. Once specified, the popup shows a resize bar that the user can drag. The simple state serialization built in to the product ensures that a user's preferred size for any gallery is maintained from one run of the application to the next.

Menus in Popups

With the advent of all the new widgets available in ribbon layouts it is sometimes easy to forget that the menu control is still the backbone of all popups. In the Office 2007 and 2010 user interface menus are still used extensively, the only difference being that they are often mixed with other controls in a popup, and multiple menus in one popup is not uncommon - for example, separated by a color picker control.

Since a menu is just another type of control, they can be laid out in a strip with (for example) galleries and headings around them. Of course, a popup with a single menu control is perfectly possible and you will probably use this configuration a lot in your SandRibbon applications.

Color Pickers

The color picker is a control usually displayed in popups. It is a self-contained control that has a collection of colors which the developer adds to it. These colors are shown in a horizontal strip. You can also specify that a number of color graduations are shown, in which case light and dark variations of each color are also made available for selection. These are all presented in an intuitive fashion and the control is very easy to configure.

Color Schemes

SandRibbon ships with Blue, Silver and Black color schemes for both the Office 2007 theme and the Office 2010 theme. In addition we also provide a System theme for the Office 2007 theme, which takes its colors from the standard system palette. They are all very attractive schemes and you can choose any one for your application. You can even allow your users to make the choice, and allow changing of the theme and color scheme at runtime.

In addition to the built-in ribbon controls, our themes include support for some of the stock WPF controls, such as the TextBox, CheckBox and Slider. When you include these controls within a ribbon or status bar they will automatically adopt an appearance in keeping with the rest of your user interface. You can see examples from all the visual styles on the screenshots page.


By choosing to inherit from RibbonForm instead of Window, your windows will adopt the custom shape seen in Office 2007 and 2010. This will give them different characteristics such as more rounded corners and themed window frames, but more importantly will allow the ribbon to nicely integrate itself into the titlebar area of your window.

When running on Windows Vista or 7, your applications will automatically enable Aero Glass effects inside the window that merge seamlessly with the ribbon features.


The default styles and templates that ship with SandRibbon integrate with the four normal color tables: blue, silver, black and system. It's also easy for your designers to create an entire color scheme for use within your application and apply it to SandRibbon. In this way, you can ensure a unique look and feel for your application while still being immediately recognisable as using the Office user interface.

When a custom color scheme is not enough, you can choose to completely re-template all the SandRibbon controls. We make all the primitives we use available for people wishing to heavily customize the library.

Partial Trust Support

We have engineered the product so that it runs perfectly in a partial trust environment such as XBAP deployment. You have the flexibility to choose whether to release your software as a desktop application or a browser application when using SandRibbon. Why not try our own XBAP right here on this site?

Next: Screenshots

Copyright © 2003 - 2009 Divelements Limited       About | Contact | Privacy