mcpField
S
syncfusion-wpf-accordion

syncfusion-wpf-accordion

github.com/syncfusion開発5160 回インストール1 週間前に更新
リポジトリ

syncfusion-wpf-accordion について

WPF で Syncfusion の SfAccordion を実装するためのスキルです。データバインディング、展開ルール、選択、テンプレート、スタイル、アニメーションを扱います。

主な機能

  1. 01WPF の展開可能なセクション作成
  2. 02データコレクションへの項目バインド
  3. 03単一・複数展開の設定
  4. 04ヘッダーとコンテンツテンプレートのカスタマイズ
  5. 05展開ボタンとアニメーションのスタイル設定

活用シーン

  1. 01FAQ や設定パネルの構築
  2. 02カテゴリ別コンテンツのオンデマンド表示
  3. 03業務オブジェクトのアコーディオン項目へのバインド

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-accordion

インストール後、Claude Code で/syncfusion-wpf-accordionを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
appearance-and-styling.md
getting-started.md
populating-items.md
selecting-items.md
selection-mode.md

詳細

SfAccordion(WPF)の実装

このスキルを使用するタイミング

次のような場合にこのスキルを使用します。

  • WPF で折りたたみ/展開可能なセクション UI を構築する
  • 必要に応じて展開できる、カテゴリ別のコンテンツを表示する
  • Outlook 風、FAQ 風、または設定パネルのアコーディオンレイアウトを作成する
  • ビジネスオブジェクトのコレクションをアコーディオンにバインドする
  • 同時に展開できる項目数を制御する
  • アコーディオン項目のヘッダー、コンテンツ、展開ボタン、またはアニメーションをカスタマイズする

コンポーネントの概要

SfAccordion                          (ItemsControl)
└── SfAccordionItem  (×N)            (HeaderedContentControl)
    ├── Header      — always visible (collapsed & expanded)
    └── Content     — visible only when expanded (IsSelected=true)

アセンブリ: Syncfusion.SfAccordion.WPF
名前空間: Syncfusion.Windows.Controls.Layout
XAML スキーマ: http://schemas.syncfusion.com/wpf


ドキュメントとナビゲーションガイド

はじめに

📄 参照: references/getting-started.md

  • アセンブリ参照と NuGet のセットアップ
  • XAML および C# でのコントロールの作成
  • Header と Content を設定した基本的な SfAccordionItem
  • SfSkinManager を使用したテーマ
項目の追加

📄 参照: references/populating-items.md

  • Items コレクションを使用した宣言的な項目
  • ItemsSource を使用したデータバインディング
  • Model + ViewModel + ObservableCollection
  • ヘッダーを簡単に設定できる DisplayMemberPath
  • HeaderTemplate / HeaderTemplateSelector
  • ContentTemplate / ContentTemplateSelector
項目の選択

📄 参照: references/selecting-items.md

  • SelectedIndex — インデックスで選択する
  • SelectedItem — インスタンスで選択する(TwoWay バインディング)
  • SelectedItems / SelectedIndices — 読み取り専用コレクション
  • 個々の項目の IsSelected
  • SelectAll() / UnselectAll() メソッド
  • SelectedItemsChanged / SelectionChanged イベント
選択モード

📄 参照: references/selection-mode.md

  • One — 1 つだけ展開(デフォルト)
  • OneOrMore — 複数展開でき、少なくとも 1 つは必須
  • ZeroOrOne — 最大 1 つまで展開でき、すべて折りたたみ可能
  • ZeroOrMore — 複数展開でき、すべて折りたたみ可能
  • モード選択ガイド:適切なモードの選び方
外観とスタイル

📄 参照: references/appearance-and-styling.md

  • AccentBrush — ハイライト色
  • HeaderTemplate / ContentTemplate
  • AccordionButtonStyle — 展開矢印のカスタマイズ
  • ItemContainerStyle — 項目ごとのスタイル設定
  • アニメーションの有効化/無効化
  • SfSkinManager のテーマ

クイックスタート

xmlns:syncfusion="http://schemas.syncfusion.com/wpf"

<syncfusion:SfAccordion Width="300" Height="200">
    <syncfusion:SfAccordionItem Header="WPF"
                                Content="Essential Studio for WPF"/>
    <syncfusion:SfAccordionItem Header="Silverlight"
                                Content="Essential Studio for Silverlight"/>
    <syncfusion:SfAccordionItem Header="WinRT"
                                Content="Essential Studio for WinRT" IsSelected="True"/>
</syncfusion:SfAccordion>
using Syncfusion.Windows.Controls.Layout;

SfAccordion accordion = new SfAccordion();
accordion.Items.Add(new SfAccordionItem { Header = "WPF",        Content = "Essential Studio for WPF" });
accordion.Items.Add(new SfAccordionItem { Header = "Silverlight", Content = "Essential Studio for Silverlight" });
accordion.Items.Add(new SfAccordionItem { Header = "WinRT",       Content = "Essential Studio for WinRT", IsSelected = true });
this.Content = accordion;

よくあるパターン

シナリオ方法
複数のセクションを一度に 1 つずつ開くSelectionMode="One"(デフォルト)
複数を開ける FAQSelectionMode="ZeroOrMore"
データ駆動型のコンテンツItemsSource + HeaderTemplate + ContentTemplate
アクティブな項目の色を強調するAccentBrush
展開矢印をカスタマイズするSfAccordionItem の AccordionButtonStyle
展開/折りたたみのアニメーションを遅くするItemContainerStyle の ExpandableContentControl.Percentage
展開中の項目を追跡するSelectedItemsChanged イベント

主なプロパティ

プロパティ型説明
SelectionModeAccordionSelectionMode1つ/1つ以上/0または1つ/0個以上
SelectedIndexint最後に選択された項目のインデックス
SelectedItemobject最後に選択された項目のインスタンス
SelectedItems読み取り専用現在選択されているすべての項目インスタンス
SelectedIndices読み取り専用現在選択されているすべての項目インデックス
ItemsSourceIEnumerableデータコレクションのバインディング
HeaderTemplateDataTemplateすべての項目で共通のヘッダーテンプレート
ContentTemplateDataTemplateすべての項目で共通のコンテンツテンプレート
HeaderTemplateSelectorDataTemplateSelector項目ごとのヘッダーテンプレート
ContentTemplateSelectorDataTemplateSelector項目ごとのコンテンツテンプレート
AccentBrushBrush項目のハイライトに使用するアクセントカラー
ItemContainerStyleStyle各 SfAccordionItem に適用されるスタイル

SfAccordionItem のプロパティ:

プロパティ説明
Header常に表示される項目ヘッダー
Content項目が展開されているときに表示されるコンテンツ
IsSelectedtrue = 展開、false = 折りたたみ
IsLocked読み取り専用。項目を折りたためない場合は true
AccordionButtonStyle展開切り替えボタンのスタイル

コメント