mcpField
S
syncfusion-wpf-accordion

syncfusion-wpf-accordion

github.com/syncfusion开发5160 次安装1 周前更新
代码仓库

关于 syncfusion-wpf-accordion

用于在 WPF 中实现 Syncfusion SfAccordion 的技能,涵盖数据绑定、展开规则、选择、模板、样式和动画。

主要功能

  1. 01创建可展开的 WPF 分区
  2. 02将项目绑定到数据集合
  3. 03配置单项或多项展开
  4. 04自定义标题与内容模板
  5. 05设置展开按钮样式和动画

适用场景

  1. 01构建 FAQ 或设置面板
  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 中构建可折叠/展开的分区界面
  • 显示可按需展开的分类内容
  • 创建 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 — 恰好展开一个(默认)
  • OneOrMore — 可展开多个,且至少展开一个
  • ZeroOrOne — 最多展开一个,也可以全部折叠
  • 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;

常见模式

场景方法
多个分区,每次展开一个SelectionMode="One"(默认)
可同时展开多个项目的 FAQSelectionMode="ZeroOrMore"
数据驱动的内容ItemsSource + HeaderTemplate + ContentTemplate
高亮显示活动项目颜色AccentBrush
自定义展开箭头在 SfAccordionItem 上设置 AccordionButtonStyle
缓慢的展开/折叠动画在 ItemContainerStyle 中设置 ExpandableContentControl.Percentage
跟踪已展开的项目SelectedItemsChanged 事件

关键属性

属性类型描述
SelectionModeAccordionSelectionModeOne / OneOrMore / ZeroOrOne / ZeroOrMore
SelectedIndexint最近选中的项的索引
SelectedItemobject最近选中的项的实例
SelectedItems只读当前选中的所有项实例
SelectedIndices只读当前选中的所有项索引
ItemsSourceIEnumerable数据集合绑定
HeaderTemplateDataTemplate所有项共用的标题模板
ContentTemplateDataTemplate所有项共用的内容模板
HeaderTemplateSelectorDataTemplateSelector各项的标题模板
ContentTemplateSelectorDataTemplateSelector各项的内容模板
AccentBrushBrush项高亮的强调色
ItemContainerStyleStyle应用于每个 SfAccordionItem 的样式

SfAccordionItem 属性:

属性描述
Header始终可见的项标题
Content项展开时可见
IsSelectedtrue = 展开,false = 折叠
IsLocked只读;当项无法折叠时为 true
AccordionButtonStyle展开器切换按钮的样式

评论

支持 Markdown