devexpress-winforms-ribbon-and-bars
DevExpress WinForms Ribbon and Bars
DevExpress.XtraBars is one library that ships both Ribbon UI (RibbonControl + RibbonForm + RibbonStatusBar + BackstageViewControl) and the classic Bars system (BarManager + Bar + BarDockControl). Both stacks share the same items/links architecture — every command is a non-visual BarItem (BarButtonItem, BarCheckItem, BarEditItem, BarSubItem, BarStaticItem, BarHeaderItem, RibbonGalleryBarItem, …) and every visible button/dropdown is a BarItemLink referencing one of those items. The same BarButtonItem can appear in a ribbon page group, the QAT, the page header area, a popup menu, and a status bar at once; clicking any link fires the item's one ItemClick handler.
WinForms vs WPF terminology — three corrections to the prompt:
- The host form for a Ribbon must inherit from
DevExpress.XtraBars.Ribbon.RibbonForm(notThemedWindow— that is WPF).RibbonFormderives fromXtraFormand integrates the ribbon into the non-client area for QAT + caption bar items.- There is no separate
MainMenuControl/StatusBarControl/ToolBarControlin WinForms — those names belong to the WPF Bars stack. In WinForms,BarManagerhosts a collection ofBarobjects; the bar assigned toBarManager.MainMenuplays the main-menu role,BarManager.StatusBarplays the status-bar role, and any otherBarwithDockStyle = Top/Bottom/Left/Rightis a toolbar.- There is no WinForms-native MVVM framework in DevExpress on par with WPF's. The cross-platform
DevExpress.Mvvmpackage (separately installable) does work in WinForms — you can useBindableBase,DelegateCommand, andINotifyPropertyChangedwithBindingSourceto data-bindBarItem.Caption/Enabled/Visible/Down, and a Bind-style helper to wireItemClickto aICommand. This is the pragmatic substitute for ribbon MVVM in WinForms.
When to Use This Skill
(The detailed API surface per task is in the Navigation Guide below.)