$npx -y skills add syncfusion/maui-toolkit-ui-components-skills --skill syncfusion-maui-toolkit-calendarImplements and customize Syncfusion .NET MAUI Calendar (SfCalendar) control. Use when implementing calendar functionality, date selection (single, multiple, range), or calendar views (month, year, decade, century). Covers date restrictions (min/max dates, EnablePastDates, Selecta
| 1 | # Implementing .NET MAUI Calendar (SfCalendar) |
| 2 | |
| 3 | A comprehensive skill for implementing and customizing the Syncfusion .NET MAUI Calendar control. The SfCalendar provides powerful date selection capabilities with multiple view modes, extensive customization options, and flexible date restrictions. |
| 4 | |
| 5 | ## When to Use This Skill |
| 6 | |
| 7 | Use this skill when you need to: |
| 8 | - Implement a calendar control in .NET MAUI applications |
| 9 | - Enable date selection (single date, multiple dates, or date ranges) |
| 10 | - Display calendar views (Month, Year, Decade, Century) |
| 11 | - Restrict date selection with min/max dates or custom validation |
| 12 | - Customize calendar appearance (backgrounds, text styles) |
| 13 | - Handle calendar events (selection changes, view changes, taps) |
| 14 | - Configure week numbers, first day of week, or trailing/leading dates |
| 15 | - Implement localization or RTL support for calendars |
| 16 | - Add special date highlighting or weekend styling |
| 17 | - Navigate programmatically between dates or views |
| 18 | |
| 19 | ## Component Overview |
| 20 | |
| 21 | **SfCalendar** is a feature-rich calendar control that allows users to: |
| 22 | - Select single dates, multiple dates, or date ranges |
| 23 | - Navigate through Month, Year, Decade, and Century views |
| 24 | - Restrict dates using MinimumDate, MaximumDate, EnablePastDates, or SelectableDayPredicate |
| 25 | - Customize every aspect of the calendar's appearance |
| 26 | - Respond to user interactions through comprehensive events |
| 27 | |
| 28 | **Key Capabilities:** |
| 29 | - 4 calendar views for flexible navigation |
| 30 | - 3 selection modes (Single, Multiple, Range) |
| 31 | - Comprehensive date restriction options |
| 32 | - Full customization (dates, today, trailing/leading) |
| 33 | - Rich event system for user interactions |
| 34 | - Localization and globalization support |
| 35 | - RTL (Right-to-Left) language support |
| 36 | |
| 37 | ## Documentation and Navigation Guide |
| 38 | |
| 39 | ### Getting Started |
| 40 | 📄 **Read:** [references/getting-started.md](references/getting-started.md) |
| 41 | - Installation and NuGet package setup (Syncfusion.Maui.Toolkit) |
| 42 | - Handler registration in MauiProgram.cs |
| 43 | - Basic SfCalendar initialization in XAML and C# |
| 44 | - First day of week customization |
| 45 | - Corner radius configuration |
| 46 | |
| 47 | ### Calendar Views |
| 48 | 📄 **Read:** [references/calendar-views.md](references/calendar-views.md) |
| 49 | - Month view (default, most common) |
| 50 | - Year view for month selection |
| 51 | - Decade view for year selection |
| 52 | - Century view for decade selection |
| 53 | - NumberOfVisibleWeeks property |
| 54 | - Week number display (ShowWeekNumber) |
| 55 | - View navigation and switching |
| 56 | |
| 57 | ### Date Selection |
| 58 | 📄 **Read:** [references/date-selection.md](references/date-selection.md) |
| 59 | - Single selection mode (one date at a time) |
| 60 | - Multiple selection mode (select multiple dates) |
| 61 | - Range selection mode (select date ranges) |
| 62 | - EnableSwipeSelection for range selection |
| 63 | - RangeSelectionDirection (Forward, Backward, Both, None) |
| 64 | - Programmatic selection with SelectedDate/SelectedDates/SelectedRange |
| 65 | - Selection behavior in different views |
| 66 | |
| 67 | ### Date Restrictions |
| 68 | 📄 **Read:** [references/date-restrictions.md](references/date-restrictions.md) |
| 69 | - MinimumDate property (restrict backward navigation) |
| 70 | - MaximumDate property (restrict forward navigation) |
| 71 | - EnablePastDates property (disable dates before today) |
| 72 | - SelectableDayPredicate (custom date validation logic) |
| 73 | - Disabling weekends or specific dates |
| 74 | - Date validation patterns |
| 75 | |
| 76 | ### Date Navigation |
| 77 | 📄 **Read:** [references/date-navigation.md](references/date-navigation.md) |
| 78 | - DisplayDate property for programmatic navigation |
| 79 | - Programmatic view switching |
| 80 | - AllowViewNavigation property |
| 81 | - NavigateToAdjacentMonth (leading/trailing date navigation) |
| 82 | - Swipe gestures for month/year navigation |
| 83 | - Header tap navigation between views |
| 84 | |
| 85 | ### Calendar Modes and Display Options |
| 86 | 📄 **Read:** [references/calendar-modes.md](references/calendar-modes.md) |
| 87 | - Default mode (inline display) |
| 88 | - Dialog mode (centered popup) |
| 89 | - RelativeDialog mode (positioned popup) |
| 90 | - CalendarRelativePosition enum (AlignTop, AlignBottom, AlignToLeftOf, AlignToRightOf, etc.) |
| 91 | - IsOpen property for programmatic control |
| 92 | - PopupWidth and PopupHeight customization |
| 93 | - Date picker patterns |
| 94 | |
| 95 | ### Customization and Styling |
| 96 | 📄 **Read:** [references/customizations.md](references/customizations.md) |
| 97 | - Month cell customization (dates, today, trailing/leading) |
| 98 | - Text styles (TextStyle, TodayTextStyle, DisabledDatesTextStyle) |
| 99 | - Background colors for all cell states |
| 100 | - Weekend date styling |
| 101 | - Special date highlighting with icons (Dot, Heart, Diamond, Star, Bell) |
| 102 | - Year, Decade, and Century view customization |
| 103 | - CalendarTextStyle properties (TextColor, FontSize, FontFamily) |
| 104 | |
| 105 | ### E |