关于 syncfusion-maui-listview
这是用于实现、自定义和优化 Syncfusion .NET MAUI SfListView 的文档技能,面向集合数据展示与操作,涵盖布局、数据处理、交互和虚拟化。
主要功能
- 01线性和网格布局
- 02排序、筛选和分组
- 03单选、多选及手势
- 04滑动操作和拖放
- 05加载更多、下拉刷新和虚拟化
适用场景
- 01展示产品或联系人集合
- 02筛选和分组列表数据
- 03添加滑动操作或项目重排
- 04高效呈现大型数据集合
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ syncfusion/ maui-ui-components-skills --skill syncfusion-maui-listview安装后在 Claude Code 中输入/syncfusion-maui-listview确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/data-operations.mdevents-performance.mdgetting-started.mdheaders-footers.mdinteractive-features.mditem-customization.mdlayouts.mdload-more-pull-refresh.mdmvvm-patterns.mdrtl.mdscrolling.mdselection.md详细介绍
实现 .NET MAUI ListView
一份全面的指南,介绍如何实现、自定义和优化 Syncfusion .NET MAUI ListView(SfListView)组件。ListView 可显示数据集合,并支持布局、排序、筛选、分组、选择和丰富的自定义选项。
何时使用此指南
在以下情况下使用此指南:
- 显示集合: 显示来自任意数据源(ObservableCollection、List 等)的数据项列表
- 数据操作: 实现列表项的排序、筛选或分组
- 自定义布局: 创建单列或多列的线性布局或网格布局
- 用户交互: 启用项目选择(单选/多选)、点击、长按或双击
- 高级功能: 添加滑动操作、拖放重排、下拉刷新或加载更多
- 自定义: 设计自定义项目模板、页眉、页脚或分组页眉
- 性能: 使用虚拟化优化大型数据集的列表渲染
- MVVM 模式: 使用数据绑定、命令和 ViewModel 实现 ListView
常见场景:
- 商品目录、联系人列表、收件箱/邮件列表
- 新闻动态、社交媒体帖子、照片库
- 设置页面、导航菜单、文件浏览器
- 任务列表、订单历史记录、交易记录
- 任何可滚动的同类项目集合
组件概览
SfListView 是一款高性能、功能丰富的列表控件,可:
- 使用内置或自定义模板呈现数据项
- 支持优化的视图重用策略,确保滚动流畅
- 提供支持方向设置的线性和网格布局
- 无需重新绑定即可执行数据操作(排序、筛选、分组)
- 提供多种选择模式和手势
- 支持固定页眉、页脚和分组页眉
- 支持项目滑动操作和拖放
- 通过虚拟化高效处理大型数据集
文档与导航指南
入门
📄 阅读: references/getting-started.md
- NuGet 包设置(Syncfusion.Maui.ListView)
- 在 MauiProgram.cs 中注册处理程序
- 创建第一个 ListView
- 数据模型和 ViewModel
- 基本数据绑定和项目模板
布局选项
📄 阅读: references/layouts.md
- 线性布局(垂直/水平)
- 使用 SpanCount 的网格布局
- 动态更改布局
- 根据屏幕尺寸调整响应式列数
- 布局最佳实践
数据操作
📄 阅读: references/data-operations.md
- 使用 SortDescriptor 排序(升序/降序、自定义比较器)
- 使用谓词和 RefreshFilter 筛选
- 使用 GroupDescriptor 分组并固定分组页眉
- 组合多种操作
- 性能注意事项
选择
📄 阅读: references/selection.md
- 选择模式(None、Single、SingleDeselect、Multiple、Extended)
- 选择手势(Tap、DoubleTap、Hold)
- SelectedItem 和 SelectedItems 属性
- 选择事件(SelectionChanging、SelectionChanged)
- 以编程方式选择
- 自定义选择外观
项目自定义
📄 阅读: references/item-customization.md
- 使用 ItemTemplate 自定义项目模板
- 使用 DataTemplateSelector 动态选择模板
- 项目大小(固定、自动适应、动态)
- 项目外观(边框、间距、视觉效果)
- 液态玻璃效果
- 高级自定义技术
页眉和页脚
📄 阅读: references/headers-footers.md
- 添加 HeaderTemplate 和 FooterTemplate
- 固定页眉和页脚(IsStickyHeader、IsStickyFooter)
- 使用 GroupHeaderTemplate 设置分组页眉
- 动态页眉/页脚内容
- 常见页眉/页脚模式
交互功能
📄 阅读: references/interactive-features.md
- 滑动操作(StartSwipeTemplate、EndSwipeTemplate)
- 滑动事件和常见模式(删除、归档)
- 拖放(DragStartMode、拖放事件)
- 在列表中重新排序项目
- 跨列表拖放
加载更多和下拉刷新
📄 阅读: references/load-more-pull-refresh.md
- 加载更多选项(自动/手动)
- LoadMoreCommand 和 LoadMoreTemplate
- 下拉刷新
- 大型数据集的最佳实践
滚动
📄 阅读: references/scrolling.md
- 滚动方法(ScrollTo、ScrollToRowIndex)
- ScrollBarVisibility 属性
- 以编程方式滚动
- 不使用虚拟化的 ListView
- 滚动性能优化
从右向左(RTL)支持
📄 阅读: references/rtl.md
- 从右向左(RTL)布局支持
- FlowDirection 属性
- 测试 RTL 布局
MVVM 模式
📄 阅读: references/mvvm-patterns.md
- 使用 ListView 的 MVVM 架构
- INotifyPropertyChanged 和 ObservableCollection
- 命令(TapCommand、LongPressCommand)
- 数据绑定模式
- 在 MVVM 中处理用户操作
- 完整的 MVVM 示例
事件和性能
📄 阅读: references/events-performance.md
- 生命周期事件(Loaded)
- 交互事件(ItemTapped、ItemDoubleTapped、ItemLongPress)
- ItemAppearing 和 ItemDisappearing 事件
- 性能优化技术
- 使用 BeginInit/EndInit 进行批量更新
- RefreshView 方法
- 性能问题排查
评论
支持 Markdown