Remember the user’s ribbon
Customization & Persistence
Preserve user command layout without freezing the application schema.
Explore source ↗Capability
Customization services export, reset, load, and save minimized state, selected tab, quick access items and placement, with a JSON state store, schema versions, and migration hooks.
- 01
Load, save, export, and reset flows
- 02
Quick access and minimized state
- 03
Versioned JSON schema
- 04
Pluggable migration chain
How it composes
From intent
to working system.
Capture
Runtime ribbon state records selection, placement, and customization.
Version
The store writes a schema identity beside state.
Migrate
Ordered hooks update older persisted shapes.
Restore
Built-in commands apply or reset state through the control.
Quick start
Adopt this
capability.
Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.
dotnet add package RibbonControl.Persistence.Json<PackageReference Include="RibbonControl.Persistence.Json" Version="VERSION" /><PackageVersion Include="RibbonControl.Persistence.Json" Version="VERSION" />var store = new JsonRibbonStateStore( "ribbon-state.json", new JsonRibbonStateStoreOptions { CurrentSchemaVersion = 2, Migrations = { new Schema1To2QuickAccessPlacementMigration() } });Modules in this capability
Use one layer.
Compose the rest.
Source of truth
Read the module beside the complete system.
The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.