The Syncfusion .NET MAUI Scheduler (SfScheduler) is a comprehensive scheduling component that provides nine different built-in view modes for displaying and managing appointments efficiently. It supports day, week, workweek, month, agenda, and timeline views with features like recurring appointments, drag-and-drop, resizing, hierarchical resource management, ICS import/export, adaptive UI, floating action button, quick info template, and time zone support.
When to Use This Skill
Use this skill when you need to:
- Create scheduling or calendar applications in .NET MAUI
- Display appointments across different time periods (day, week, month)
- Implement recurring events with complex patterns
- Build resource-based scheduling systems (meeting rooms, employees, equipment)
- Organize resources in a hierarchical (tree) structure
- Restrict overlapping appointments within the same time range
- Render major and minor tick marks inside time-slot cells
- Export and import appointments using the iCalendar (ICS) standard
- Adjust the rendered height of appointments in Month view
- Open the appointment editor programmatically (Add, Edit, Delete, QuickInfo)
- Build adaptive resource rows that expand to fit appointments
- Show an inline agenda pane inside the Month view
- Enable an adaptive UI on Windows/macOS for mobile-style drawers and headers
- Display week numbers in Timeline Month and Agenda views
- Force the Agenda view into mobile or desktop layout
- Customize the day text format inside Month cells
- Add a floating action button to create a new appointment
- Replace the default quick info popup with a custom template
- Customize the empty-day (week header) template in Agenda view
- Customize the day header template in Agenda view
- Create timeline views for project planning or horizontal scheduling
- Add drag-and-drop or resizable appointments
- Implement multi-timezone appointment management
- Create custom appointment editors or tooltips
- Build agenda views or month calendars
- Handle appointment reminders and notifications
- Support multiple calendar types (Gregorian, Hijri, etc.)
- Implement load-on-demand for large appointment datasets
Component Overview
The Scheduler control provides:
- 9 Built-in Views: Day, Week, WorkWeek, Month, Agenda, TimelineDay, TimelineWeek, TimelineWorkWeek, TimelineMonth
- Appointment Types: Normal, All-Day, Spanned, Recurring appointments with exception handling
- Interactive Features: Drag-and-drop, resizing, custom editors, tooltips, cell selection
- Resource Management: Multiple resources with hierarchical grouping, adaptive row heights, and adaptive UI for desktop
- Advanced Features: Time zones, localization, load-on-demand, reminders, special time regions, ICS import/export, programmatic editor popups, floating action button
- Customization: Flexible styling, templates, working hours, date restrictions, month and minor tick time format, day string format, mobile/desktop agenda layout
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
When the user needs to:
- Install and set up the Syncfusion .NET MAUI Scheduler
- Register the scheduler handler in MauiProgram.cs
- Create their first scheduler with basic configuration
- Add simple appointments to the scheduler
- Understand view modes and basic properties
- Set up the initial project structure
- Import necessary NuGet packages
Appointments Management
📄 Read: references/appointments.md
When the user needs to:
- Create and configure appointments
- Map custom business objects to appointments
- Implement normal, all-day, or spanned appointments
- Create recurring appointments with patterns (daily, weekly, monthly, yearly)
- Use recurrence rules (RRULE syntax)
- Handle recurrence exceptions (skip or modify specific occurrences)
- Customize appointment properties (subject, notes, location, colors)
- Bind appointment sources to custom data collections
- Understand appointment rendering order
Day, Week, and WorkWeek Views
📄 Read: references/day-week-views.md
When the user needs to:
- Configure Day, Week, or WorkWeek views
- Set the number of visible days
- Customize time intervals between time slots
- Configure time rulers and time labels
- Configure major and minor ticks in the time ruler
- Set up working hours and non-working hours
- Create special time regions (blocking time intervals)
- Customize time slot appearance
- Customize the height of all-day appointments in the all-day panel of day views
- Render appointments spanning more than 24 hours in the all-day panel or within timeslot cells in day views
- Configure view headers
- Handle time slot sizing and customization
Timeline Views
📄 Read: references/timeline-views.md
When the user needs to:
- Implement Timeline Day, Week, WorkWeek, or Month views
- Display appointments on a horizontal time axis
- Configure visible days in timeline views
- Set time intervals for timeline slots
- Customize viewport height
- Configure time rulers and major/minor ticks in timeline views
- Create horizontal scheduling interfaces
- Add special time regions in Timeline Month view
- Handle scrolling and navigation in timeline views
Month and Agenda Views
📄 Read: references/month-agenda-views.md
When the user needs to:
- Configure Month view with appointments
- Customize month cells appearance
- Display appointments inline in Month view
- Adjust the rendered height of each appointment inside a Month cell
- Customize the day number text format inside a Month cell
- Show a month agenda panel beneath the month grid that lists the selected date's appointments
- Align date text in Month view
- Set up Agenda view for list-based appointment display
- Force the Agenda view to use a mobile or desktop layout
- Customize agenda view date and time formats
- Hide weeks that do not contain any appointments in Agenda view
- Provide a custom template for the empty-day placeholder or day header in Agenda view
- Handle appointment grouping by weeks
- Configure selected date display
- Customize month view indicators
- Combine different view modes
Appointment Interactions
📄 Read: references/appointment-interactions.md
When the user needs to:
- Enable drag-and-drop for appointments
- Allow appointment resizing
- Create custom appointment editors
- Programmatically open the Add, Edit, Delete, or QuickInfo popup from code
- Configure appointment tooltips
- Customize the Quick Info popup with a custom
DataTemplate - Show a Floating Action Button that opens the Add appointment editor
- Restrict overlapping appointments in the same time range
- Implement cell selection
- Customize selection appearance
- Handle interaction events (tap, drag, resize)
- Disable specific interactions
- Create custom editor forms
Resources and Calendar Types
📄 Read: references/resources-calendars.md
When the user needs to:
- Implement resource-based scheduling (rooms, employees, equipment)
- Add and configure multiple resources
- Group appointments by resources
- Group resources in Month view on Windows and macOS
- Enable adaptive resource grouping in Month view on Android and iOS
- Build hierarchical (parent/child) resource trees for Timeline views
- Use the adaptive UI (mobile-style drawer) on desktop platforms (Windows, macOS)
- Use adaptive row heights so each resource row auto-sizes to the tallest appointment
- Customize resource headers and appearance
- Implement different calendar types (Gregorian, Hijri)
- Switch between calendar systems
- Handle resource-specific appointments
Navigation and Date Restrictions
📄 Read: references/navigation-restrictions.md
When the user needs to:
- Implement programmatic date navigation
- Set minimum and maximum date restrictions
- Prevent navigation beyond specific dates
- Customize header view and date formats
- Handle view switching (between Day, Week, Month, etc.)
- Configure navigation buttons
- Enable or disable touch and swipe-based navigation
- Implement custom navigation controls
Advanced Features
📄 Read: references/advanced-features.md
When the user needs to:
- Implement load-on-demand for large datasets
- Configure appointment reminders
- Handle multiple time zones
- Convert appointments between time zones
- Export the appointments collection to an iCalendar (
.ics) file - Import appointments from an iCalendar (
.ics) file - Display ISO week numbers in Timeline Month and Agenda views
- Use scheduler events (Tapped, SelectionChanged, ViewChanged)
- Implement liquid glass effect for visual enhancement
- Handle appointment loading efficiently
- Add context menu support for timeslot cells and appointments
- Enable right-click interaction support with events and commands
- Create event handlers for user interactions
Localization
📄 Read: references/localization.md
When the user needs to:
- Localize scheduler UI to different languages
- Customize date and time formats
- Configure culture-specific settings
- Implement RTL (right-to-left) support
- Customize day and month names
- Handle regional date formatting