
syncfusion-winui-ribbon
Guide for implementing the Syncfusion WinUI Ribbon control (SfRibbon) to organize application commands into tabs and groups, similar to Microsoft Office. Use this when working with ribbon-based navigation, Quick Access Toolbar (QAT), or backstage menus. This skill covers ribbon setup, tab and group configuration, keyboard navigation (KeyTip), and ScreenTip tooltips.
- Installs
- 48
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-ribbon- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-winui-ribbon automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Implementing Syncfusion WinUI Ribbons
Comprehensive guide for implementing Syncfusion's WinUI Ribbon (SfRibbon) control - a command bar that organizes application commands and tools into tabbed groups, providing a Microsoft Office-style interface for WinUI 3 desktop applications.
When to Use This Skill
Use this skill when the user needs to:
- Implement a Ribbon control in a WinUI 3 application
- Organize application commands using tabs and groups (like Microsoft Office)
- Add ribbon buttons, dropdowns, split buttons, or toggle buttons
- Create a backstage menu for settings and options
- Implement Quick Access Toolbar (QAT) for frequently-used commands
- Enable simplified/compact ribbon layout for space-saving UI
- Add ribbon gallery controls for styles and templates
- Configure keyboard shortcuts with KeyTip
- Implement enhanced tooltips with ScreenTip
- Handle ribbon resizing and responsive behavior
- Host custom controls (ComboBox, CheckBox, etc.) in ribbon
- Customize ribbon appearance with themes and templates
- Create contextual tabs that appear based on user selection
Component Overview
The Syncfusion WinUI Ribbon control provides a comprehensive command organization system for modern Windows applications. It organizes commands hierarchically:
Hierarchy: Ribbon → Tabs → Groups → Items (Buttons, Dropdowns, etc.)
Key Capabilities:
- Tab & Group Organization: Categorize commands logically
- Multiple Button Types: Regular, Dropdown, Split, Toggle buttons
- Backstage View: Separate view for application settings (like File menu in Office)
- Simplified Layout: Compact single-line mode with overflow menu
- Ribbon Gallery: Display collections of styles/templates
- Quick Access Toolbar: User-customizable toolbar for frequent commands
- Keyboard Navigation: KeyTip support for keyboard shortcuts
- Enhanced Tooltips: ScreenTip with rich content
- Responsive Design: Automatic resizing and item prioritization
- Custom Controls: Host any WinUI control in ribbon groups
Package: Syncfusion.Ribbon.WinUI
Namespace: Syncfusion.UI.Xaml.Ribbon
Main Control: SfRibbon
Documentation and Navigation Guide
🚀 Getting Started
📄 Read: references/getting-started.md
- Installation and NuGet package setup
- Namespace import and initialization
- Creating your first ribbon with basic tabs
- Adding ribbon to WinUI application
- License configuration
- Minimal working example
📑 Tabs and Groups
📄 Read: references/tabs-and-groups.md
- Creating and configuring RibbonTabs
- Organizing commands with RibbonGroups
- Tab selection and navigation
- Contextual tab groups (conditional tabs)
- Tab appearance customization
- SelectFirstTabOnVisible behavior
🔘 Ribbon Items
📄 Read: references/ribbon-items.md
- RibbonButton (standard button)
- RibbonDropDownButton (dropdown menu)
- RibbonSplitButton (click + dropdown)
- RibbonToggleButton (on/off states)
- Item sizing modes (Small, Normal, Large)
- Icon types and configuration
- RibbonComboBox in ribbon
- Hosting custom controls with RibbonItemHost
- Group launcher button
🎭 Backstage
📄 Read: references/backstage.md
- RibbonBackstage overview
- BackstageView control setup
- Creating custom backstage layouts
- Settings and options panels
- Backstage navigation patterns
- Exit backstage handling
⚡ Quick Access Toolbar
📄 Read: references/quick-access-toolbar.md
- QAT overview and purpose
- Adding commands to QAT
- Customization and positioning
- Common QAT patterns (Save, Undo, Redo)
📐 Simplified Layout
📄 Read: references/simplified-layout.md
- Simplified layout overview (single-line compact mode)
- LayoutModeOptions and ActiveLayoutMode
- Switching between Normal and Simplified
- DisplayOptions per item (Normal, Simplified, OverflowMenu)
- Overflow menu behavior
- Compact UI design patterns
🎨 Advanced Features
📄 Read: references/advanced-features.md
- RibbonGallery for style collections
- KeyTip for keyboard navigation
- ScreenTip for enhanced tooltips
- Ribbon resizing and compact sizing
- Responsive ribbon design
- Window resize handling
🖌️ UI Customization
📄 Read: references/ui-customization.md
- RightPane configuration
- Theme customization
- Template overrides
- Custom styling
- Accessibility considerations
- Icon customization
Quick Start Example
Basic Ribbon with Tabs and Buttons
<Page x:Class="MyApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ribbon="using:Syncfusion.UI.Xaml.Ribbon">
<Grid x:Name="rootGrid">
<ribbon:SfRibbon x:Name="sfRibbon">
<!-- Tabs -->
<ribbon:SfRibbon.Tabs>
<ribbon:RibbonTab Header="Home">
<!-- Clipboard Group -->
<ribbon:RibbonGroup Header="Clipboard">
<ribbon:RibbonSplitButton Content="Paste"
Icon="Paste"
AllowedSizeModes="Large">
<ribbon:RibbonSplitButton.Flyout>
<MenuFlyout>
<MenuFlyoutItem Text="Paste" />
<MenuFlyoutItem Text="Paste Special" />
</MenuFlyout>
</ribbon:RibbonSplitButton.Flyout>
</ribbon:RibbonSplitButton>
<ribbon:RibbonButton Content="Cut"
Icon="Cut"
AllowedSizeModes="Normal" />
<ribbon:RibbonButton Content="Copy"
Icon="Copy"
AllowedSizeModes="Normal" />
</ribbon:RibbonGroup>
<!-- Font Group -->
<ribbon:RibbonGroup Header="Font">
<ribbon:RibbonToggleButton Content="Bold"
AllowedSizeModes="Normal">
<ribbon:RibbonToggleButton.Icon>
<SymbolIcon Symbol="Bold" />
</ribbon:RibbonToggleButton.Icon>
</ribbon:RibbonToggleButton>
<ribbon:RibbonToggleButton Content="Italic"
AllowedSizeModes="Normal">
<ribbon:RibbonToggleButton.Icon>
<SymbolIcon Symbol="Italic" />
</ribbon:RibbonToggleButton.Icon>
</ribbon:RibbonToggleButton>
</ribbon:RibbonGroup>
</ribbon:RibbonTab>
<ribbon:RibbonTab Header="Insert">
<ribbon:RibbonGroup Header="Illustrations">
<ribbon:RibbonButton Content="Pictures"
AllowedSizeModes="Large">
<ribbon:RibbonButton.Icon>
<SymbolIcon Symbol="Pictures" />
</ribbon:RibbonButton.Icon>
</ribbon:RibbonButton>
</ribbon:RibbonGroup>
</ribbon:RibbonTab>
<ribbon:RibbonTab Header="View" />
</ribbon:SfRibbon.Tabs>
</ribbon:SfRibbon>
</Grid>
</Page>
C# Code-behind:
using Syncfusion.UI.Xaml.Ribbon;
namespace MyApp
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
// Optionally configure ribbon programmatically
sfRibbon.SelectedIndex = 0; // Select Home tab
}
}
}
Common Patterns
Pattern 1: Ribbon with Backstage
<ribbon:SfRibbon x:Name="sfRibbon">
<!-- Backstage Menu -->
<ribbon:SfRibbon.Backstage>
<ribbon:RibbonBackstage>
<ribbon:BackstageView>
<ribbon:BackstageView.Items>
<ribbon:BackstageViewItemHeader Header="New" />
<ribbon:BackstageViewItemHeader Header="Open" />
<ribbon:BackstageViewItemHeader Header="Save" />
<ribbon:BackstageViewTabItem Header="Settings">
<StackPanel Margin="20">
<TextBlock Text="Application Settings"
FontSize="20"
FontWeight="SemiBold" />
<!-- Settings content -->
</StackPanel>
</ribbon:BackstageViewTabItem>
</ribbon:BackstageView.Items>
</ribbon:BackstageView>
</ribbon:RibbonBackstage>
</ribbon:SfRibbon.Backstage>
<!-- Tabs... -->
</ribbon:SfRibbon>
Pattern 2: Simplified Layout with Overflow
<ribbon:SfRibbon x:Name="sfRibbon"
LayoutModeOptions="Normal,Simplified"
ActiveLayoutMode="Simplified">
<ribbon:SfRibbon.Tabs>
<ribbon:RibbonTab Header="Home">
<ribbon:RibbonGroup Header="Actions">
<!-- Always visible in simplified -->
<ribbon:RibbonButton Content="Save"
Icon="Save"
DisplayOptions="Normal,Simplified" />
<!-- Only in overflow menu when simplified -->
<ribbon:RibbonButton Content="Export"
Icon="Export"
DisplayOptions="Normal,OverflowMenu" />
</ribbon:RibbonGroup>
</ribbon:RibbonTab>
</ribbon:SfRibbon.Tabs>
</ribbon:SfRibbon>
Pattern 3: Contextual Tabs
<ribbon:SfRibbon x:Name="sfRibbon">
<!-- Regular Tabs -->
<ribbon:SfRibbon.Tabs>
<ribbon:RibbonTab Header="Home">
<!-- Content -->
</ribbon:RibbonTab>
</ribbon:SfRibbon.Tabs>
<!-- Contextual Tab Groups (shown conditionally) -->
<ribbon:SfRibbon.ContextualTabGroups>
<ribbon:RibbonContextualTabGroup x:Name="ImageTools"
Visibility="Collapsed"
SelectFirstTabOnVisible="True"
Background="LightBlue">
<ribbon:RibbonContextualTabGroup.Tabs>
<ribbon:RibbonTab Header="Picture Format">
<ribbon:RibbonGroup Header="Adjust">
<ribbon:RibbonButton Content="Brightness" Icon="Brightness" />
<ribbon:RibbonButton Content="Contrast" Icon="Contrast" />
</ribbon:RibbonGroup>
</ribbon:RibbonTab>
</ribbon:RibbonContextualTabGroup.Tabs>
</ribbon:RibbonContextualTabGroup>
</ribbon:SfRibbon.ContextualTabGroups>
</ribbon:SfRibbon>
// Show contextual tabs when image is selected
private void OnImageSelected(object sender, RoutedEventArgs e)
{
ImageTools.Visibility = Visibility.Visible;
}
private void OnImageDeselected(object sender, RoutedEventArgs e)
{
ImageTools.Visibility = Visibility.Collapsed;
}
Pattern 4: Hosting Custom Controls
<ribbon:RibbonGroup Header="Font">
<ribbon:RibbonItemHost Margin="0,12,0,0">
<ribbon:RibbonItemHost.ItemTemplate>
<ComboBox x:Name="FontComboBox"
Width="150"
PlaceholderText="Select Font">
<ComboBoxItem Content="Calibri" IsSelected="True" />
<ComboBoxItem Content="Arial" />
<ComboBoxItem Content="Segoe UI" />
</ComboBox>
</ribbon:RibbonItemHost.ItemTemplate>
</ribbon:RibbonItemHost>
</ribbon:RibbonGroup>
Key Properties
SfRibbon
| Property | Type | Description |
|---|---|---|
Tabs | RibbonTabCollection | Collection of ribbon tabs |
ContextualTabGroups | RibbonContextualTabGroupCollection | Conditional tab groups |
Backstage | RibbonBackstage | Backstage menu (File menu) |
RightPane | object | Content for right pane area |
SelectedTab | RibbonTab | Currently selected tab |
SelectedIndex | int | Index of selected tab |
LayoutModeOptions | LayoutModeOptions | Available layout modes (Normal, Simplified) |
ActiveLayoutMode | LayoutMode | Current active layout (Normal or Simplified) |
RibbonTab
| Property | Type | Description |
|---|---|---|
Header | object | Tab header text/content |
Items | RibbonGroupCollection | Collection of ribbon groups |
RibbonGroup
| Property | Type | Description |
|---|---|---|
Header | object | Group header text |
Items | RibbonItemCollection | Collection of ribbon items |
ShowLauncherButton | bool | Show launcher button in group |
LauncherButtonClick | event | Launcher button click event |
LauncherButtonCommand | ICommand | Launcher button command |
RibbonButton (and variants)
| Property | Type | Description |
|---|---|---|
Content | object | Button label text |
Icon | IconElement | Button icon |
AllowedSizeModes | RibbonElementSizeModes | Allowed sizes (Small, Normal, Large) |
DisplayOptions | DisplayOptions | Layout visibility (Normal, Simplified, OverflowMenu) |
Command | ICommand | Button command |
Flyout | FlyoutBase | Flyout for dropdown/split buttons |
Common Use Cases
Use Case 1: Document Editor Ribbon
Create a Word/Excel-style ribbon with formatting commands:
- Read: references/ribbon-items.md for button types
- Read: references/tabs-and-groups.md for organization
Use Case 2: Application Settings Backstage
Implement a settings panel in backstage view:
- Read: references/backstage.md for backstage patterns
Use Case 3: Compact Ribbon for Small Windows
Enable simplified layout for space-constrained UIs:
- Read: references/simplified-layout.md for compact mode
Use Case 4: Style Gallery
Add a ribbon gallery for document styles/themes:
- Read: references/advanced-features.md for gallery implementation
Use Case 5: Keyboard-Accessible Commands
Implement KeyTip for keyboard navigation:
- Read: references/advanced-features.md for KeyTip configuration
Use Case 6: Responsive Ribbon Design
Handle window resizing gracefully:
- Read: references/advanced-features.md for resizing behavior
Implementation Workflow
- Install Package: Add
Syncfusion.Ribbon.WinUINuGet package - Basic Setup: Create SfRibbon with tabs and groups → references/getting-started.md
- Add Commands: Implement ribbon buttons and controls → references/ribbon-items.md
- Organization: Structure tabs logically by feature area → references/tabs-and-groups.md
- Backstage (Optional): Add settings/options menu → references/backstage.md
- Optimize Layout: Enable simplified mode if needed → references/simplified-layout.md
- Enhance UX: Add gallery, KeyTip, ScreenTip → references/advanced-features.md
- Customize: Apply themes and templates → references/ui-customization.md
Related Skills
- ComboBox - For dropdown controls within ribbon
- Implementing Syncfusion WinUI Components - Parent library skill
Additional Resources
FAQ
What does the syncfusion-winui-ribbon skill do?
Guide for implementing the Syncfusion WinUI Ribbon control (SfRibbon) to organize application commands into tabs and groups, similar to Microsoft Office. Use this when working with ribbon-based navigation, Quick Access Toolbar (QAT), or backstage menus. This skill covers ribbon setup, tab and group configuration, keyboard navigation (KeyTip), and ScreenTip tooltips.
How do I install syncfusion-winui-ribbon?
Run npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-ribbon in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-winui-ribbon/ (personal) or .claude/skills/syncfusion-winui-ribbon/ (project).
Which AI agents can use syncfusion-winui-ribbon?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is syncfusion-winui-ribbon safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains syncfusion-winui-ribbon?
It is published by syncfusion in syncfusion/winui-ui-components-skills. It has 48 recorded installs.
More from syncfusion/winui-ui-components-skills
syncfusion-winui-getting-started
syncfusion/winui-ui-components-skills
Comprehensive guide for setting up Syncfusion WinUI components, including license registration, NuGet package installation, system requirements verification, and troubleshooting. Use this skill when users need help with Syncfusion licensing, installation, WinUI component configuration, theme setup, or resolving installation errors.
syncfusion-winui-datagrid
syncfusion/winui-ui-components-skills
Guide for implementing Syncfusion WinUI DataGrid (SfDataGrid) for tabular data display in desktop applications. Use this skill when working with data grids, sorting, filtering, grouping, or CRUD operations. Covers data binding, column configuration, master-details views, Excel export, and performance optimization including data virtualization and custom templates.
syncfusion-winui-badge
syncfusion/winui-ui-components-skills
Guide implementation of the Syncfusion WinUI Badge control (SfBadge) for displaying notification badges and status indicators. Use this skill when working with badge notifications, unread count badges, BadgeContainer, or notification overlays in WinUI applications. Covers shapes, colors, positioning, alignment, animations, and customization patterns.
syncfusion-winui-treeview
syncfusion/winui-ui-components-skills
Comprehensive guide for implementing Syncfusion WinUI TreeView (SfTreeView) control in desktop applications. Use this skill when working with hierarchical data display, tree structures, or node-based navigation. Covers TreeView implementation for file explorers, organization charts, category browsers, and expandable/collapsible data visualization in WinUI applications.
syncfusion-winui-polar-charts
syncfusion/winui-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-winui-treegrid
syncfusion/winui-ui-components-skills
Guide for implementing Syncfusion WinUI TreeGrid (SfTreeGrid) components for displaying hierarchical or self-relational data. Use this skill when working with tree-structured grids, parent-child data relationships, or expandable grid rows. Covers TreeGrid features for organizational charts, file system displays, and multi-level data representation in WinUI applications.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.