syncfusion-wpf-ribbon について
WPF デスクトップアプリで Syncfusion Ribbon を実装するためのスキルです。タブやグループによるコマンド整理に加え、外観、状態の保存、複数ドキュメントの構成を扱います。
主な機能
- 01タブとグループでコマンドを整理
- 02ボタン、メニュー、入力コントロールの追加
- 03アプリメニューと backstage ビューの設定
- 04Ribbon 状態の保存と読み込み
- 05ドキュメント間の Ribbon 統合
- 06キーボードとタッチのアクセシビリティ対応
活用シーン
- 01テキストエディターの書式コマンド整理
- 02データ分析ツールの機能分類
- 03複数ドキュメントエディターでのコマンド共有
- 04Office 風アプリ画面の構築
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ wpf-ui-components-skills --skill syncfusion-wpf-ribbonインストール後、Claude Code で/syncfusion-wpf-ribbonを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/getting-started.mdribbon-accessibility.mdribbon-advanced-continued.mdribbon-advanced.mdribbon-buttons.mdribbon-customization.mdribbon-gallery.mdribbon-inputs.mdribbon-patterns-continued.mdribbon-patterns.mdribbon-structure.mdtroubleshooting.md詳細
Syncfusion WPF Ribbon の実装
このスキルを使用するタイミング
次のような場合に、このスキルを使用します。
- WPF デスクトップアプリケーションにリボンインターフェイスを作成する
- リボンのタブ、グループ、コントロール(ボタン、メニュー、ギャラリー、入力欄)を追加する
- アプリケーションメニューまたはバックステージビューを設定する
- リボンの外観、スタイル、レイアウトをカスタマイズする
- 状態の永続化やマルチドキュメントのシナリオを実装する
- アクセシビリティ機能やタッチ操作への対応を追加する
- リボン項目の操作やデータバインディングを処理する
コンポーネントの概要
Syncfusion WPF Ribbon は、デスクトップアプリケーション向けに、最新の Microsoft Office 風リボンインターフェイスを提供する包括的なナビゲーションコンポーネントです。コマンドをタブやグループに整理することで、UI の煩雑さを軽減し、機能を見つけやすくします。
主な機能:
- タブベースでコマンドを整理し、グループや列に配置
- 組み込みのリボンコントロール:ボタン、メニュー、ギャラリー、テキスト入力、チェックボックス、ラジオボタン
- アプリケーションメニューとバックステージビューに対応
- アプリケーションのセッションをまたいだ状態の永続化
- 複雑なシナリオに対応するマルチドキュメントのリボンマージ
- キーボードとタッチ操作の完全なアクセシビリティ
- カスタマイズ可能なスタイルとレスポンシブレイアウト
ドキュメントとナビゲーションガイド
はじめに
📄 参照: references/getting-started.md
- インストールと NuGet パッケージの設定
- XAML での基本的なリボンの作成
- 名前空間の宣言とプロジェクトの設定
- 最初のタブとグループの追加
- 基本的なクリックイベントの接続
リボンの構造とレイアウト
📄 参照: references/ribbon-structure.md
- タブの作成とタブコレクションの管理
- コントロールをグループや列に整理
- アプリケーションメニューの設定
- バックステージビューの設定
- カスタムホスティング用の RibbonItemHost
リボンのボタンとメニュー
📄 参照: references/ribbon-buttons.md
- 標準的な RibbonButton の実装
- 分割コマンド用の SplitButton
- クイックメニュー用の MenuButton
- MenuItem の階層とネストされたメニュー
- コマンドバインディングとクリックハンドラー
リボンの入力コントロール
📄 参照: references/ribbon-inputs.md
- RibbonCheckBox と RibbonRadioButton
- テキスト入力用の RibbonTextBox
- RibbonComboBox と RibbonListBox
- 視覚的なグループ分け用の RibbonSeparator
- リボン入力コントロールへのデータバインディング
リボンのギャラリーコントロール
📄 参照: references/ribbon-gallery.md
- ギャラリーの設定と項目テンプレート
- 項目の視覚的な表示
- 選択と項目選択イベント
- ギャラリーのフィルタリングと検索
- カテゴリ別の項目用ギャラリーグループ
カスタマイズとスタイル設定
📄 参照: references/ribbon-customization.md
- リボンの下に表示する StatusBar の設定
- スタイルとテンプレートのカスタマイズ
- テーマと配色
- サイズグループとレイアウトの圧縮
- レスポンシブなリボンの動作
高度な機能
📄 参照: references/ribbon-advanced.md
- マルチドキュメントインターフェイス用のリボンマージ
- 状態の永続化(リボン状態の保存と読み込み)
- タブとグループの動的な作成
- リボンの縮小レイアウト(自動折りたたみ)
- プログラムによるリボンの操作
アクセシビリティとタッチ操作
📄 参照: references/ribbon-accessibility.md
- キーボードナビゲーションとショートカット
- 機能を見つけやすくするツールチップへの対応
- タッチ入力の処理
- スクリーンリーダーとの互換性
- アクセシビリティのベストプラクティス
パターンとベストプラクティス
📄 参照: references/ribbon-patterns.md
- 一般的なリボン UI パターン
- アプリケーションメニューとタブの使い分け
- リボンを整理するための原則
- パフォーマンスに関する考慮事項
- 設計のベストプラクティス
トラブルシューティング
📄 参照: references/troubleshooting.md
- ボタンとメニューに関する問題
- 入力コントロールに関する問題
- 一般的な設定上の問題
クイックスタートの例
以下は、開始するための最小限の WPF リボン設定です。
<syncfusion:RibbonWindow x:Class="RibbonApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
Title="Ribbon Application" Height="600" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<syncfusion:Ribbon Grid.Row="0">
<syncfusion:RibbonTab Caption="Home">
<syncfusion:RibbonBar Header="File Operations">
<syncfusion:RibbonButton Label="New"
SmallIcon="Images/new.png"
Click="OnNewClick" />
<syncfusion:RibbonButton Label="Open"
SmallIcon="Images/open.png"
Click="OnOpenClick" />
<syncfusion:RibbonButton Label="Save"
SmallIcon="Images/save.png"
Click="OnSaveClick" />
</syncfusion:RibbonBar>
<syncfusion:RibbonBar Header="Formatting">
<syncfusion:RibbonComboBox Label="Font">
<syncfusion:RibbonComboBoxItem Content="Arial" />
<syncfusion:RibbonComboBoxItem Content="Times New Roman" />
<syncfusion:RibbonComboBoxItem Content="Courier New" />
</syncfusion:RibbonComboBox>
</syncfusion:RibbonBar>
</syncfusion:RibbonTab>
<syncfusion:RibbonTab Caption="Edit">
<syncfusion:RibbonBar Header="Clipboard">
<syncfusion:RibbonButton Label="Cut" Click="OnCutClick" />
<syncfusion:RibbonButton Label="Copy" Click="OnCopyClick" />
<syncfusion:RibbonButton Label="Paste" Click="OnPasteClick" />
</syncfusion:RibbonBar>
</syncfusion:RibbonTab>
</syncfusion:Ribbon>
<TextBox Grid.Row="1" AcceptsReturn="True" />
<StatusBar Grid.Row="2" Height="30" />
</Grid>
</syncfusion:RibbonWindow>
// MainWindow.xaml.cs
using Syncfusion.Windows.Tools.Controls;
public partial class MainWindow : RibbonWindow
{
public MainWindow()
{
InitializeComponent();
}
private void OnNewClick(object sender, EventArgs e)
{
// Handle new document
}
private void OnOpenClick(object sender, EventArgs e)
{
// Handle open file
}
private void OnSaveClick(object sender, EventArgs e)
{
// Handle save file
}
}
一般的なパターン
パターン 1:アプリケーションメニュー付きリボン
左上のメニューボタンからアクセスできるファイルメニューを作成します。
<syncfusion:Ribbon>
<syncfusion:Ribbon.ApplicationMenu>
<syncfusion:ApplicationMenu>
<syncfusion:MenuItem Header="New" />
<syncfusion:MenuItem Header="Open" />
<syncfusion:MenuItem Header="Save" />
<syncfusion:MenuItemSeparator />
<syncfusion:MenuItem Header="Exit" />
</syncfusion:ApplicationMenu>
</syncfusion:Ribbon.ApplicationMenu>
<syncfusion:RibbonTab Caption="Home">
</syncfusion:RibbonTab>
</syncfusion:Ribbon>
パターン 2:複数のバーを含むタブ
タブ内のコマンドを論理的なグループに整理します。
<syncfusion:RibbonTab Caption="Tools">
<syncfusion:RibbonBar Header="Analysis">
<syncfusion:RibbonButton Label="Chart" />
<syncfusion:RibbonButton Label="Graph" />
</syncfusion:RibbonBar>
<syncfusion:RibbonBar Header="Data">
<syncfusion:RibbonButton Label="Sort" />
<syncfusion:RibbonButton Label="Filter" />
</syncfusion:RibbonBar>
</syncfusion:RibbonTab>
パターン 3:ドロップダウン付き分割ボタン
関連するコマンドを含むドロップダウンメニュー付きのボタンを作成します。
<syncfusion:SplitButton Label="Format">
<syncfusion:RibbonMenuItem Header="Bold" />
<syncfusion:RibbonMenuItem Header="Italic" />
<syncfusion:RibbonMenuItem Header="Underline" />
</syncfusion:SplitButton>
パターン 4:MVVM によるコマンドのバインド
リボンのボタンをビューモデルのコマンドにバインドします。
<syncfusion:RibbonButton Label="Save"
Command="{Binding SaveCommand}"
CommandParameter="All" />
主要なプロパティのリファレンス
Ribbon
ApplicationMenu- 左上のメニューコンテンツBackStage- ファイル操作用のバックステージパネルQuickAccessToolBar- クイックアクセスツールバーの設定AutoPersist- 状態の自動保存を有効化しますSaveRibbonState()/LoadRibbonState()- リボンの状態を保存および読み込みます
RibbonTab
Caption- タブのラベル(HeaderではなくCaptionを使用)IsVisible- タブの表示/非表示を動的に切り替えます
RibbonBar
Header- バーのラベル(RibbonGroupの代わり)DialogLauncherCommand- 詳細オプション用のダイアログ起動コマンド
RibbonButton / SplitButton
Label- ボタンのテキストSmallIcon/MediumIcon/LargeIcon- ボタンの画像(Iconの代わりに使用)Click/Command- イベントまたはコマンドのバインドSizeForm- サイズのバリエーション(Large、Medium、Small、ExtraSmall)IsCheckable- トグルボタンの動作
RibbonComboBox / RibbonListBox
Label- コントロールのラベルSelectedItem- 現在選択されている値ItemsSource- データバインディングのソースSelectionChanged- 選択イベント
RibbonTextBox
Text- テキスト値(Labelではありません)Width- コントロールの幅
RibbonCheckBox / RibbonRadioButton
Content- コントロールのラベル(Labelではありません)IsChecked- チェック状態GroupName- ラジオボタンのグループ化
RibbonGallery
ItemsSource- ギャラリーの項目ItemTemplate- 項目の表示テンプレートItemSelectionChangedCommand- 選択コマンド
一般的なユースケース
ユースケース 1:テキストエディターアプリケーション 標準的な書式設定コマンド(フォント、サイズ、太字、斜体、下線、配置)を備えたリボンを作成します。セットアップについては、getting-started.md を参照してください。
ユースケース 2:データ分析ツール 分析、グラフ作成、エクスポートの機能を別々のタブに整理し、グラフの種類を選べるギャラリーを配置します。ribbon-gallery.md を参照してください。
ユースケース 3:複数ドキュメント対応エディター リボンのマージを使用して共通のコマンドを共有しながら、ドキュメント固有のコマンドも利用できるようにします。ribbon-advanced.md を参照してください。
ユースケース 4:Office スタイルのアプリケーション ファイル操作用のアプリケーションメニュー、設定用のバックステージビュー、コンテキストタブを実装します。ribbon-structure.md を参照してください。
次のステップ:
- 基本的なセットアップは references/getting-started.md から始めてください
- リボンの要件に応じて、該当するリファレンスを参照してください
- 一般的なシナリオについては ribbon-patterns.md を確認してください