syncfusion-maui-calendar

SKILL.md

Implementing .NET MAUI Calendar (SfCalendar)

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.

When to Use This Skill

Use this skill when you need to:

  • Implement a calendar control in .NET MAUI applications
  • Enable date selection (single date, multiple dates, or date ranges)
  • Display calendar views (Month, Year, Decade, Century)
  • Restrict date selection with min/max dates or custom validation
  • Customize calendar appearance (backgrounds, text styles)
  • Handle calendar events (selection changes, view changes, taps)
  • Configure week numbers, first day of week, or trailing/leading dates
  • Implement localization or RTL support for calendars
  • Add special date highlighting or weekend styling
  • Navigate programmatically between dates or views

Component Overview

SfCalendar is a feature-rich calendar control that allows users to:

  • Select single dates, multiple dates, or date ranges
  • Navigate through Month, Year, Decade, and Century views
  • Restrict dates using MinimumDate, MaximumDate, EnablePastDates, or SelectableDayPredicate
  • Customize every aspect of the calendar's appearance
  • Respond to user interactions through comprehensive events

Key Capabilities:

  • 4 calendar views for flexible navigation
  • 3 selection modes (Single, Multiple, Range)
  • Comprehensive date restriction options
  • Full customization (dates, today, trailing/leading)
  • Rich event system for user interactions
  • Localization and globalization support
  • RTL (Right-to-Left) language support

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and NuGet package setup (Syncfusion.Maui.Calendar)
  • Handler registration in MauiProgram.cs
  • Basic SfCalendar initialization in XAML and C#
  • First day of week customization
  • Corner radius configuration

Calendar Views

📄 Read: references/calendar-views.md

  • Month view (default, most common)
  • Year view for month selection
  • Decade view for year selection
  • Century view for decade selection
  • NumberOfVisibleWeeks property
  • Week number display (ShowWeekNumber)
  • View navigation and switching

Date Selection

📄 Read: references/date-selection.md

  • Single selection mode (one date at a time)
  • Multiple selection mode (select multiple dates)
  • Range selection mode (select date ranges)
  • EnableSwipeSelection for range selection
  • RangeSelectionDirection (Forward, Backward, Both, None)
  • Programmatic selection with SelectedDate/SelectedDates/SelectedRange
  • Selection behavior in different views

Date Restrictions

📄 Read: references/date-restrictions.md

  • MinimumDate property (restrict backward navigation)
  • MaximumDate property (restrict forward navigation)
  • EnablePastDates property (disable dates before today)
  • SelectableDayPredicate (custom date validation logic)
  • Disabling weekends or specific dates
  • Date validation patterns

Date Navigation

📄 Read: references/date-navigation.md

  • DisplayDate property for programmatic navigation
  • Programmatic view switching
  • AllowViewNavigation property
  • NavigateToAdjacentMonth (leading/trailing date navigation)
  • Swipe gestures for month/year navigation
  • Header tap navigation between views

Calendar Modes and Display Options

📄 Read: references/calendar-modes.md

  • Default mode (inline display)
  • Dialog mode (centered popup)
  • RelativeDialog mode (positioned popup)
  • CalendarRelativePosition enum (AlignTop, AlignBottom, AlignToLeftOf, AlignToRightOf, etc.)
  • IsOpen property for programmatic control
  • PopupWidth and PopupHeight customization
  • Date picker patterns

Customization and Styling

📄 Read: references/customizations.md

  • Month cell customization (dates, today, trailing/leading)
  • Text styles (TextStyle, TodayTextStyle, DisabledDatesTextStyle)
  • Background colors for all cell states
  • Weekend date styling
  • Special date highlighting with icons (Dot, Heart, Diamond, Star, Bell)
  • Year, Decade, and Century view customization
  • CalendarTextStyle properties (TextColor, FontSize, FontFamily)

Events and Interactions

📄 Read: references/events.md

  • ViewChanged event (view/date range changes)
  • SelectionChanged event (date selection changes)
  • Tapped event (single tap on dates)
  • DoubleTapped event (double tap on dates)
  • LongPressed event (long press on dates)
  • Event arguments and data
  • Event handling patterns

Headers and Footers

📄 Read: references/headers-footers.md

  • HeaderView customization (height, background, text style)
  • Header text format customization
  • ShowNavigationArrows property
  • HeaderTemplate for custom header UI
  • FooterView customization
  • Custom footer templates

Localization and Advanced Features

📄 Read: references/localization-advanced.md

  • Globalization and localization setup
  • CurrentUICulture configuration
  • Resource file creation for multiple languages
  • RTL (Right-to-Left) support
  • CalendarIdentifier (Gregorian, Hijri, etc.)
  • Calendar modes
  • Liquid glass effect
  • Advanced visual customization
Weekly Installs
4
GitHub Stars
1
First Seen
1 day ago
Installed on
amp4
cline4
opencode4
cursor4
kimi-cli4
warp4