关于 syncfusion-maui-scheduler
这是一项用于实现 Syncfusion .NET MAUI Scheduler 的开发指南,面向构建日历和资源排程界面的开发者,涵盖多种视图、预约交互与定制。
主要功能
- 01九种日历与时间线视图
- 02重复预约及例外处理
- 03资源分组与层级管理
- 04拖动、调整大小及预约编辑器
- 05时区支持与 ICS 导入导出
适用场景
- 01构建 .NET MAUI 日历应用
- 02安排会议室、员工或设备
- 03创建项目时间线计划
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ maui-ui-components-skills --skill syncfusion-maui-scheduler安装后在 Claude Code 中输入/syncfusion-maui-scheduler确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/advanced-features.mdappointment-interactions.mdappointments.mdday-week-views.mdgetting-started.mdlocalization.mdmonth-agenda-views.mdnavigation-restrictions.mdresources-calendars.mdtimeline-views.md详细介绍
实现 Scheduler
Syncfusion .NET MAUI Scheduler(SfScheduler)是一款全面的日程安排组件,提供 9 种内置视图模式,可高效显示和管理预约。它支持日、周、工作周、月、议程和时间线视图,并提供重复预约、拖放、调整大小、分层资源管理、ICS 导入/导出、自适应 UI、浮动操作按钮、快速信息模板和时区支持等功能。
何时使用此技能
在以下场景中使用此技能:
- 在 .NET MAUI 中创建日程安排或日历应用
- 跨不同时间段(日、周、月)显示预约
- 使用复杂模式实现重复事件
- 构建基于资源的日程安排系统(会议室、员工、设备)
- 以分层(树形)结构组织资源
- 限制同一时间段内的预约重叠
- 在时间段单元格内呈现主刻度线和次刻度线
- 使用 iCalendar(ICS)标准导出和导入预约
- 调整 Month 视图中预约的呈现高度
- 以编程方式打开预约编辑器(Add、Edit、Delete、QuickInfo)
- 构建可自适应资源行,使其扩展以容纳预约
- 在 Month 视图中显示内嵌议程面板
- 在 Windows/macOS 上启用自适应 UI,以使用适用于移动设备的抽屉和标题
- 在 Timeline Month 和 Agenda 视图中显示周数
- 将 Agenda 视图强制设为移动或桌面布局
- 自定义 Month 单元格中的日期文本格式
- 添加浮动操作按钮以创建新预约
- 使用自定义模板替换默认的快速信息弹出窗口
- 自定义 Agenda 视图中的空白日期(周标题)模板
- 自定义 Agenda 视图中的日期标题模板
- 为项目规划或水平日程安排创建时间线视图
- 为预约添加拖放或调整大小功能
- 实现多时区预约管理
- 创建自定义预约编辑器或工具提示
- 构建议程视图或月历
- 处理预约提醒和通知
- 支持多种日历类型(公历、伊斯兰历等)
- 为大型预约数据集实现按需加载
组件概览
Scheduler 控件提供:
- 9 种内置视图:Day、Week、WorkWeek、Month、Agenda、TimelineDay、TimelineWeek、TimelineWorkWeek、TimelineMonth
- 预约类型:普通、全天、跨日、重复预约,并支持异常处理
- 交互功能:拖放、调整大小、自定义编辑器、工具提示、单元格选择
- 资源管理:多个资源,支持分层分组、自适应行高,以及面向桌面端的自适应 UI
- 高级功能:时区、本地化、按需加载、提醒、特殊时间区域、ICS 导入/导出、以编程方式弹出编辑器、浮动操作按钮
- 自定义:灵活的样式、模板、工作时间、日期限制、月和次刻度时间格式、日期字符串格式、移动/桌面议程布局
文档和导航指南
入门
📄 阅读: references/getting-started.md
当用户需要:
- 安装和设置 Syncfusion .NET MAUI Scheduler
- 在 MauiProgram.cs 中注册 Scheduler 处理程序
- 使用基本配置创建首个 Scheduler
- 向 Scheduler 添加简单预约
- 了解视图模式和基本属性
- 设置初始项目结构
- 导入所需的 NuGet 包
预约管理
📄 阅读: references/appointments.md
当用户需要:
- 创建和配置预约
- 将自定义业务对象映射到预约
- 实现普通、全天或跨时段预约
- 按模式创建重复预约(每天、每周、每月、每年)
- 使用重复规则(RRULE 语法)
- 处理重复例外(跳过或修改特定实例)
- 自定义预约属性(主题、备注、地点、颜色)
- 将预约源绑定到自定义数据集合
- 了解预约的渲染顺序
日、周和工作周视图
📄 阅读: references/day-week-views.md
当用户需要:
- 配置日、周或工作周视图
- 设置可见天数
- 自定义时段之间的时间间隔
- 配置时间刻度尺和时间标签
- 配置时间刻度尺中的主刻度和次刻度
- 设置工作时间和非工作时间
- 创建特殊时间区域(阻止时间段)
- 自定义时段外观
- 自定义日视图全天面板中全天预约的高度
- 在日视图的全天面板中或时段单元格内渲染跨度超过 24 小时的预约
- 配置视图标题
- 处理时段大小设置和自定义
时间线视图
📄 阅读: references/timeline-views.md
当用户需要:
- 实现时间线日、周、工作周或月视图
- 在水平时间轴上显示预约
- 配置时间线视图中的可见天数
- 设置时间线时段的时间间隔
- 自定义视口高度
- 配置时间线视图中的时间刻度尺和主/次刻度
- 创建横向排期界面
- 在时间线月视图中添加特殊时间区域
- 处理时间线视图中的滚动和导航
月视图和日程视图
📄 阅读: references/month-agenda-views.md
当用户需要:
- 配置包含预约的月视图
- 自定义月视图单元格的外观
- 在月视图中以内联方式显示预约
- 调整月视图单元格中每个预约的渲染高度
- 自定义月视图单元格中的日期数字文本格式
- 在月历网格下方显示月日程面板,列出所选日期的预约
- 设置月视图中的日期文本对齐方式
- 设置基于列表显示预约的日程视图
- 强制日程视图使用移动端或桌面布局
- 自定义日程视图的日期和时间格式
- 在日程视图中隐藏不包含任何预约的周
- 为日程视图中的空白日占位符或日期标题提供自定义模板
- 处理按周分组的预约
- 配置所选日期的显示方式
- 自定义月视图指示器
- 组合不同的视图模式
预约交互
📄 阅读: references/appointment-interactions.md
当用户需要:
- 启用预约的拖放操作
- 允许调整预约大小
- 创建自定义预约编辑器
- 通过代码以编程方式打开“添加”“编辑”“删除”或 QuickInfo 弹出窗口
- 配置预约工具提示
- 使用自定义
DataTemplate自定义 Quick Info 弹出窗口 - 显示用于打开“添加预约”编辑器的浮动操作按钮
- 限制同一时间段内的预约重叠
- 实现单元格选择
- 自定义选中状态的外观
- 处理交互事件(轻触、拖动、调整大小)
- 禁用特定交互
- 创建自定义编辑器表单
资源和日历类型
📄 阅读: references/resources-calendars.md
当用户需要:
- 实现基于资源的日程安排(会议室、员工、设备)
- 添加和配置多个资源
- 按资源对预约分组
- 在 Windows 和 macOS 上按资源对月视图分组
- 在 Android 和 iOS 上启用月视图中的自适应资源分组
- 为时间轴视图构建分层(父级/子级)资源树
- 在桌面平台(Windows、macOS)上使用自适应 UI(移动端样式的抽屉)
- 使用自适应行高,使每个资源行自动调整为最高预约的高度
- 自定义资源标题和外观
- 实现不同的日历类型(公历、希吉来历)
- 在不同日历系统之间切换
- 处理特定资源的预约
导航和日期限制
📄 阅读: references/navigation-restrictions.md
当用户需要:
- 实现以编程方式进行日期导航
- 设置最小和最大日期限制
- 阻止导航超出特定日期
- 自定义标题视图和日期格式
- 处理视图切换(在日、周、月等视图之间切换)
- 配置导航按钮
- 启用或禁用基于触摸和滑动的导航
- 实现自定义导航控件
高级功能
📄 阅读: references/advanced-features.md
当用户需要:
- 为大型数据集实现按需加载
- 配置预约提醒
- 处理多个时区
- 在不同时区之间转换预约
- 将预约集合导出为 iCalendar(
.ics)文件 - 从 iCalendar(
.ics)文件导入预约 - 在时间轴月视图和议程视图中显示 ISO 周数
- 使用日程安排器事件(Tapped、SelectionChanged、ViewChanged)
- 实现液态玻璃效果以增强视觉效果
- 高效处理预约加载
- 为时段单元格和预约添加上下文菜单支持
- 启用通过事件和命令支持右键交互
- 为用户交互创建事件处理程序
本地化
📄 阅读: references/localization.md
当用户需要:
- 将日程安排器 UI 本地化为不同语言
- 自定义日期和时间格式
- 配置特定区域设置
- 实现 RTL(从右向左)支持
- 自定义星期和月份名称
- 处理区域日期格式