syncfusion-wpf-accordion
SKILL.md
Implementing SfAccordion (WPF)
When to Use This Skill
Use this skill when the user needs to:
- Build collapsible/expandable section UI in WPF
- Display categorized content with expand-on-demand behavior
- Create Outlook-style, FAQ-style, or settings-panel accordion layouts
- Bind a business object collection to an accordion
- Control how many items can be expanded simultaneously
- Customize accordion item headers, content, expander buttons, or animation
Component Overview
SfAccordion (ItemsControl)
└── SfAccordionItem (×N) (HeaderedContentControl)
├── Header — always visible (collapsed & expanded)
└── Content — visible only when expanded (IsSelected=true)
Assembly: Syncfusion.SfAccordion.WPF
Namespace: Syncfusion.Windows.Controls.Layout
XAML Schema: http://schemas.syncfusion.com/wpf
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Assembly reference and NuGet setup
- XAML and C# control creation
- Basic SfAccordionItem with Header and Content
- Themes with SfSkinManager
Populating Items
📄 Read: references/populating-items.md
- Declarative items via
Itemscollection - Data binding via
ItemsSource - Model + ViewModel + ObservableCollection
DisplayMemberPathfor quick headersHeaderTemplate/HeaderTemplateSelectorContentTemplate/ContentTemplateSelector
Selecting Items
📄 Read: references/selecting-items.md
SelectedIndex— select by indexSelectedItem— select by instance (TwoWay binding)SelectedItems/SelectedIndices— read-only collectionsIsSelectedon individual itemsSelectAll()/UnselectAll()methodsSelectedItemsChanged/SelectionChangedevents
Selection Mode
📄 Read: references/selection-mode.md
One— exactly one expanded (default)OneOrMore— multiple expanded, at least one requiredZeroOrOne— at most one, all can collapseZeroOrMore— multiple, all can collapse- Decision guide: choosing the right mode
Appearance and Styling
📄 Read: references/appearance-and-styling.md
AccentBrush— highlight colorHeaderTemplate/ContentTemplateAccordionButtonStyle— expander arrow customizationItemContainerStyle— per-item styling- Animation enable/disable
- SfSkinManager themes
Quick Start
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;
Common Patterns
| Scenario | Approach |
|---|---|
| Multiple sections, one open at a time | SelectionMode="One" (default) |
| FAQ where multiple can be open | SelectionMode="ZeroOrMore" |
| Data-driven content | ItemsSource + HeaderTemplate + ContentTemplate |
| Highlight active item color | AccentBrush |
| Custom expander arrow | AccordionButtonStyle on SfAccordionItem |
| Slow expand/collapse animation | ExpandableContentControl.Percentage in ItemContainerStyle |
| Track which items are expanded | SelectedItemsChanged event |
Key Properties
| Property | Type | Description |
|---|---|---|
SelectionMode |
AccordionSelectionMode |
One / OneOrMore / ZeroOrOne / ZeroOrMore |
SelectedIndex |
int |
Index of most recently selected item |
SelectedItem |
object |
Instance of most recently selected item |
SelectedItems |
read-only | All currently selected item instances |
SelectedIndices |
read-only | All currently selected item indices |
ItemsSource |
IEnumerable |
Data collection binding |
HeaderTemplate |
DataTemplate |
Shared header template for all items |
ContentTemplate |
DataTemplate |
Shared content template for all items |
HeaderTemplateSelector |
DataTemplateSelector |
Per-item header template |
ContentTemplateSelector |
DataTemplateSelector |
Per-item content template |
AccentBrush |
Brush |
Accent color for item highlight |
ItemContainerStyle |
Style |
Style applied to each SfAccordionItem |
SfAccordionItem properties:
| Property | Description |
|---|---|
Header |
Always-visible item header |
Content |
Visible when item is expanded |
IsSelected |
true = expanded, false = collapsed |
IsLocked |
Read-only; true when item cannot be collapsed |
AccordionButtonStyle |
Style for the expander toggle button |
Weekly Installs
4
Repository
syncfusion/wpf-…s-skillsFirst Seen
Today
Security Audits
Installed on
opencode4
gemini-cli4
deepagents4
antigravity4
claude-code4
github-copilot4