wpf-devexpress-ribbon-and-bars

Build Office-style Ribbon, toolbar, menu, and status bar UIs in WPF with DevExpress controls.

Updated Dec 11, 2025
One-click install
npx skills add https://github.com/AleksaRistic216/dotnet-playground --skill wpf-devexpress-ribbon-and-bars-aleksaristic216
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wpf-devexpress-ribbon-and-bars
Source: https://github.com/AleksaRistic216/dotnet-playground/tree/main/.github/skills/wpf/wpf-devexpress-ribbon-and-bars
Command: npx skills add https://github.com/AleksaRistic216/dotnet-playground --skill wpf-devexpress-ribbon-and-bars-aleksaristic216

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building a Microsoft Office-style command surface in WPF requires coordinating many DevExpress controls (RibbonControl, BarManager, bar items, item links) with non-obvious rules like the mandatory ThemedWindow conversion and the item-versus-link distinction. This Skill provides the structure, patterns, and troubleshooting guidance to implement Ribbon and bars UIs correctly the first time. ## Core Features & Use Cases - Ribbon Construction: Build the full Ribbon hierarchy (RibbonPageCategory, RibbonPage, RibbonPageGroup, bar items) with Quick Access Toolbar, Application Menu or BackstageView, and Ribbon Status Bar. - Classic Bars Layouts: Create toolbar, main menu, and status bar UIs using standalone MainMenuControl, ToolBarControl, and StatusBarControl, or the legacy BarManager for shared-item scenarios. - MVVM and MDI Merging: Generate bar items from ViewModel collections via ItemsSource/ItemLinksSource templates, and merge child window bars or ribbons into the parent in MDI layouts with MergeType and MergeOrder control. - Use Case: Convert a plain WPF Window to a ThemedWindow, add an Office2019-style Ribbon with Home and View pages wired to ViewModel commands, plus a status bar showing bound application state. ## Quick Start Ask the AI to add a DevExpress RibbonControl with a Home page, clipboard group, and Quick Access Toolbar to your WPF ThemedWindow wired to MVVM commands.

Frequently Asked Questions about wpf-devexpress-ribbon-and-bars

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a DevExpress Ribbon control to a WPF window?

Install the DevExpress.Wpf.Ribbon NuGet package, convert your Window to dx:ThemedWindow with WindowKind="Ribbon", then add a RibbonControl containing a RibbonDefaultPageCategory with RibbonPage and RibbonPageGroup elements holding BarButtonItem entries.

What is the difference between BarItem and BarItemLink in DevExpress WPF?

A BarItem is the definition owning content, glyph, and command, while a BarItemLink is a reference letting one item appear in multiple bars or menus. Links are created implicitly for inline items; write them explicitly when sharing items via BarManager.

Should I use BarManager or standalone ToolBarControl in WPF?

Prefer standalone MainMenuControl, ToolBarControl, and StatusBarControl for new code since they are simpler and dock naturally. Use BarManager only when many bars must share centralized items or you need runtime show/hide bar lists.

Why does my DevExpress Ribbon show two title bars in WPF?

The window is a regular System.Windows.Window instead of a ThemedWindow. Convert the root element to dx:ThemedWindow, update the code-behind base class, and set WindowKind="Ribbon" for proper title bar integration.

How do I bind DevExpress Ribbon items to a ViewModel collection?

Bind the collection to ItemLinksSource on a RibbonPageGroup or ItemsSource on a ToolBarControl, then provide a DataTemplate whose root is a ContentControl wrapping the BarButtonItem with bound Content, Glyph, and Command properties.

Why do Style.Triggers not work on DevExpress BarButtonItem?

Standard WPF style triggers target the item, but visuals are rendered by the BarItemLink element. Use the BarItem.Triggers collection instead, which evaluates per rendered link for state-based appearance changes.