All projects

Adaptive Avalonia commands

RibbonControl

Compose dense desktop command systems without hard-wiring their structure or user state.

StatusActive
TierMaintained
DomainControls
Repositorywieslawsoltes/RibbonControl

An Avalonia ribbon toolkit with XAML and MVVM composition, tabs, groups, galleries, backstage, key tips, adaptive layout, merging, customization, and JSON persistence.

RibbonControl composes traditional desktop command density through Avalonia-native controls, themes, models, view models, command catalogs, merge policies, key tips, automation, adaptive layout, quick access, backstage, customization, and versioned state persistence.

01

XAML-first and MVVM-first composition

02

Rich ribbon primitives and backstage

03

Merge, key tips, and adaptive layout

04

Versioned customization persistence

Where it fits.

  • Document, engineering, and enterprise desktop applications
  • Modular applications contributing commands at runtime
  • Teams requiring accessible keyboard-driven command surfaces
Avalonia

12.0

XAML / MVVM

Both first-class

Automation

Peers and tests

Persistence

Versioned JSON

Real output,
not a mockup.

RibbonControl GitHub repository preview
The repository includes XAML-only, MVVM-only, and hybrid samples plus headless, visual, performance, and automation coverage.

Clear layers.
Replaceable seams.

01

Primitives

Tabs, groups, items, galleries, backstage, and quick access form the visual vocabulary.

02

Composition

XAML, MVVM, or hybrid definitions feed stable-id runtime models.

03

Services

Commands, merging, key tips, layout, automation, and customization coordinate behavior.

04

Persistence

A versioned JSON store saves user ribbon state through migration hooks.

3 modelsXAML, MVVM, hybrid
Adaptivelayout and key tips
Versionedcustomization state
LiveGitHub metadata

One repository.
Multiple serious systems.

Explore the focused capabilities, their package boundaries, architecture, installation, and smallest useful example.

From package
to first frame.

Choose the package workflow used by your repository, then start from the smallest working example. Replace VERSION with the current stable or prerelease version shown on NuGet.

01 · Install
Terminal
dotnet add package RibbonControl.Core
dotnet add package RibbonControl.Persistence.Json
02 · Use · xml
MainWindow.axaml
<ribbon:Ribbon TabsSource="{CompiledBinding Ribbon.Tabs}"
CommandCatalog="{CompiledBinding CommandCatalog}"
StateStore="{CompiledBinding StateStore}" />

Start focused.
Compose as needed.

The repository is the source of truth.

Use the current documentation and samples, inspect changes, report issues, or support continued open-source maintenance.

ChatGPT

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…