The WPF Ribbon control accommodates all the tools required for an application in a single, easy-to-navigate user interface similar to Microsoft Office. Its dynamic resizing, keyboard accessibility, and complete customization options help organize your application.
The Essential Tools ribbon Framework includes all the controls and components that are required to build Office 2007-style, Office 2010-style, Office 2013-style, and Windows 8-style ribbon layout and functionality in your applications. Design the UI in either the VS.NET designer or Expression Blend. In spite of all the richness, the ribbon control is fully compatible to use in XBAP mode.
Ribbon tabs let you categorize the commands that you want to display to end users. Within a ribbon tab, bars are used to group ribbon buttons. This allows you to create another level of categorization for commands and makes it easy for end users to locate needed commands.
A ribbon bar also has the ability to display a scroll bar button that can be used to navigate through contents horizontally when the width of a control is less than the width of its contents.
Ribbon buttons can be fully integrated within the WPF command Framework. They expose a Command property that lets you simply specify the command to invoke (application or custom commands). You can also optionally use the CommandParameter and CommandTarget settings. These buttons can be displayed in large and small button modes.
There is also a special split button that can be placed in a ribbon that users can use in two different ways. It can be used as a normal button that users click to invoke a default command, or as a drop-down menu to select a command from a list.
An application menu is equivalent to the File menu of traditional menu user interfaces. It is represented by the circular button in the upper-left corner of a frame. The image in the button can be customized.
The pinnable list box control allows you to display a list of items just like a list box, but also providing the end user an option to “pin” certain items to the list. You could then interpret the “pinning” as whatever is appropriate to your application logic. A good use case for this functionality is the recent documents list in the Microsoft Word application menu. The items in that list are pinnable, if you want to prevent those items from disappearing from the list. The pinnable list box control can be used on its own or as part of another control such as the ribbon control. The list of items in the control can be sorted by any criteria, including name, date of last modification, and more.
The ribbon control provides you the ability to embed a gallery control within the ribbon. The gallery can be embedded in two modes, in-ribbon and drop-down. The ribbon control extends its gallery support to gallery filters, which is a practical tool used to categorize and filter gallery elements.
The ribbon control supports key tips for ribbon buttons. This lets end users quickly access a command using very few keystrokes, no matter where they are in the program. When the user presses Alt, key tips for commands in the current tab are displayed. Pressing the key displayed in a key tip will invoke its respective command. If the key tip for a hidden ribbon tab is pressed, the tab is made visible.
The ribbon control also supports contextual tabs which can be kept hidden and shown only in certain contexts. Any number of contextual tabs can be added to a ribbon control.
The mini-toolbar control is a lightweight, floating toolbar that can be dynamically displayed and hidden for certain contexts. A good example is text editing. When users select text in the editor, you can display a mini-toolbar next to the text to quickly let users bold, italicize, or underline it.
A quick access toolbar (QAT) is used to render a set of ribbon buttons that are commonly used in most applications. It is rendered right next to the Application Menu button to make it more accessible to end users. It can also be easily customized by end users utilizing the built-in QAT context menu. End users can also choose to place it above or below the ribbon, remove certain commands from the QAT, and add other commands to it. The QAT is also designed to prevent the user from adding multiple instances of the same command to the toolbar. There is also a Customize Quick Access Toolbar dialog box that can be invoked by end users. As the name suggests, it can fully customize a set of commands to be displayed in the QAT; the full set of commands available in the application can be exposed to the end user.The QAT has support for hosting custom menu items in a drop-down menu in a ribbon, creating menus similar to Outlook 2007.
Modal tabs in the ribbon control are used to temporarily display a collection of commands other than those found in the core tabs. When shown, all other core tabs will be invisible. In Microsoft Office, modal tabs are used to display print preview commands when printing a document.
The ribbon control fully supports end user customization of the control’s states like the Quick Access Toolbar, minimize/maximize state of the ribbon, etc. This requires the customized state to be persisted across application instances and the control lets you do exactly that. Easily persist the state when the app closes and apply it back when the app restarts.
The ribbon control ships with a number of built-in themes such as Office 2007 Silver, Blue, Black, Blend, Office 2003, Shiny Red, and Shiny Blue. You can also use Expression Blend to customize the look and feel to suit your needs.
The ribbon control fully supports right-to-left rendering for supporting RTL cultures.
Ribbon now supports Microsoft Coded UI test automation