用途
该技能用于指导实现 Syncfusion WinUI Kanban(SfKanban)控件。SfKanban 是一种可视化工作流管理系统,将任务以卡片形式展示,并按代表不同工作流阶段的列进行组织。
适用场景包括:创建任务或项目管理看板;构建工作流可视化系统(待办、进行中、已完成);实现敏捷项目跟踪板;需要按工作流阶段设置在制品(WIP)限制;创建支持拖放的任务板;使用泳道按团队、项目或自定义条件组织任务;管理软件开发工作流或问题跟踪系统;需要在多个阶段可视化任务状态。
主要能力
- 卡片:以标题、描述、标签、图片和优先级指示器可视化任务。
- 列:将工作组织到工作流阶段(如 Open、In Progress、Done)。
- 泳道:按项目、团队、用户或自定义类别分组卡片。
- 在制品(WIP)限制:为每列设置最小/最大任务数限制。
- 拖放:在列和泳道之间移动卡片。
- 工作流:定义卡片在特定状态之间允许的转换。
- 排序:按优先级、日期或自定义字段排列列内卡片。
- 事件:提供卡片交互事件(点击、拖动、放置)。
- 自定义:支持卡片、表头、泳道的模板。
- 主题:内置浅色和深色主题,并与系统集成。
- 本地化与 RTL:支持多语言和从右到左渲染。
使用方式
基本设置
通过 NuGet 安装后,在 XAML 中使用 kanban:SfKanban 并绑定 ItemsSource。可使用内置 KanbanModel 或自定义数据模型。
列配置
可通过 AutoGenerateColumns="True" 自动生成列,也可设置 AutoGenerateColumns="False" 并用 KanbanColumn 手动定义列,通过 Categories 映射数据。
卡片模板
使用 CardTemplate(DataTemplate)自定义卡片外观,DataContext 为 KanbanModel 实例。使用自定义数据模型时必须定义 CardTemplate。
WIP 限制
在 KanbanColumn 上设置 MinimumCount 和 MaximumCount。计数超过 MaximumCount 时显示红色错误条,低于 MinimumCount 时显示黄色错误条。
泳道
设置 SwimlaneKey(如 Assignee),按该属性分组卡片,每个唯一值对应一条水平泳道。
工作流限制
通过 KanbanWorkflow 的 AllowedTransitions 限制卡片可转换到哪些状态。
排序
设置 SortingMappingPath 和 SortingOrder,并在 CardDrop 事件中调用 RefreshKanbanColumn() 刷新列显示。
事件
支持 CardTapped、CardDragStarting、CardDragOver、CardDrop 等事件,以及 CardTappedCommand 等 MVVM 命令。
适用场景
- 软件开发任务板:跟踪缺陷和特性经过开发各阶段。
- 团队项目管理:使用泳道按成员组织任务。
- 基于优先级的排序:在列内按优先级排序卡片。
- 交互式卡片操作:点击卡片显示详情对话框。
限制与注意事项
- 使用自定义数据模型时必须定义 CardTemplate。
- 使用排序时需在 CardDrop 事件中调用 RefreshKanbanColumn()。
- 拖放受 AllowDrag、AllowDrop 和工作流限制影响。
- 泳道分组需要 SwimlaneKey 属性在数据中有不同取值。
- 一个列可映射多个类别,使用逗号分隔。
- 具体收费、价格、平台限制等资料暂未提供。