Skip to main content
net9.0net9.0-android35.0net9.0-ios18.0net9.0-maccatalyst18.0net9.0-windows10.0.19041net10.0

This package provides the functionality to utilize the features of Syncfusion® Maui Calendar control and more.

Published
Oct 6, 2026
14d ago
Total Downloads
697.0K
697,012

Install

dotnet add package Syncfusion.Maui.Calendar --version 35.1.39
ProductVersions
.NET
net10.0net10.0-android36.0net10.0-ios26.0net10.0-maccatalyst26.0net10.0-windows10.0.19041net9.0net9.0-android35.0net9.0-ios18.0net9.0-maccatalyst18.0net9.0-windows10.0.19041

README

Syncfusion .NET MAUI Calendar (SfCalendar)

The Syncfusion .NET MAUI Calendar is a feature-rich calendar control for date navigation and selection. Choose from multiple calendar views, select single dates or date ranges, restrict unavailable dates, and localize content for different languages and cultures. Build modern calendar applications for Android, iOS, macOS, and Windows from a single codebase.

Documentation · Getting Started · API Reference · Demos on GitHub · Product Page · Release Notes

.NET MAUI Calendar

Using this package with an AI coding agent

Before generating Syncfusion code, ask your AI coding agent to run the Syncfusion setup using the following prompt:

Set up this project for Syncfusion before generating code. Fetch and follow the official instructions at https://ai.syncfusion.com, then report the detected platform, installed skill pack, MCP status, and any required licensing action.

The setup detects your project’s platform and loads the appropriate Syncfusion skill pack. No Syncfusion account or MCP key is required to install or read Syncfusion agent skills.

Platform reference: https://ai.syncfusion.com/maui/llms.txt

Key features

 

Views

  • Display dates using Month, Year, Decade, and Century views.
  • Navigate seamlessly between calendar views to browse dates at different levels.
  • Configure whether the calendar stays in a single view or allows navigation across views.
  • Display dates using different calendar systems and identifiers.

Selection

  • Select a single date, multiple dates, date range, or multiple ranges.
  • Programmatically select and update dates.
  • Highlight today, selected dates, and special dates with custom appearance settings.
  • Customize selection visuals to match application requirements.

Navigation and restrictions

  • Navigate between dates using swipe gestures and programmatic navigation.
  • Restrict navigation and selection using minimum and maximum date ranges.
  • Prevent interaction with specific dates using SelectableDayPredicate.

Appearance and customization

  • Customize calendar cells, headers, and footers.
  • Style weekdays, weekends, today, blackout dates, and selected dates.
  • Customize text, colors, shapes, templates and template selectors.
  • Present the calendar in a dialog mode for a focused date selection experience.

Events and interactions

  • Respond to date selection and navigation actions through built-in events.
  • Track changes to the visible date range and calendar view.
  • Integrate calendar interactions with application workflows.

Themes and visual effects

  • Customize the calendar's appearance using themes.
  • Enable Liquid Glass effects on supported platforms.

Globalization and accessibility

  • Localize calendar content for different languages and cultures.
  • Adapt date presentation to regional preferences with multiple calendar identifiers.
  • Create localized experiences with both right-to-left (RTL) and left-to-right (LTR) layouts.
  • Make calendar interactions more accessible with keyboard navigation and screen reader support.

 

Supported platforms

Platform Target framework
Android net9.0-android, net10.0-android
iOS net9.0-ios, net10.0-ios
macOS (Mac Catalyst) net9.0-maccatalyst, net10.0-maccatalyst
Windows net9.0-windows10.0.19041, net10.0-windows10.0.19041

Minimum OS versions follow the .NET MAUI supported platforms.

Installation

.NET CLI

dotnet add package Syncfusion.Maui.Scheduler

Package Manager Console

Install-Package Syncfusion.Maui.Scheduler

Getting started

1. Register the Syncfusion core handler

In MauiProgram.cs, call ConfigureSyncfusionCore():

using Syncfusion.Maui.Core.Hosting;

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .ConfigureSyncfusionCore();

        return builder.Build();
    }
}

2. Add SfCalendar to your page

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:calendar="clr-namespace:Syncfusion.Maui.Calendar;assembly=Syncfusion.Maui.Calendar"
             xmlns:local="clr-namespace:YourAppNamespace"
             x:Class="YourAppNamespace.MainPage">

    <calendar:SfCalendar />

</ContentPage>

3. Configure the calendar view

<calendar:SfCalendar View="Month" />

Run the app. The calendar opens in Month view and displays the current month.

Common scenarios

 

Select multiple dates

 

    <calendar:SfCalendar SelectionMode="Multiple" />

 

Select a date range

 

    <calendar:SfCalendar SelectionMode="Range" />

 

Display dates in a Year view

 

    <calendar:SfCalendar View="Year" />

 

Restrict available dates

 

    <calendar:SfCalendar MinimumDate="2026/01/01"
                         MaximumDate="2026/12/31" />

 

Disable specific dates

 

    <calendar:SfCalendar x:Name="calendar" 
                         View="Month">
    </calendar:SfCalendar>
using Syncfusion.Maui.Calendar;
. . .

this.calendar.SelectableDayPredicate = (date) =>
{
    if (date.Date == DateTime.Now.AddDays(1).Date ||
        date.Date == DateTime.Now.AddDays(3).Date ||
        date.Date == DateTime.Now.AddDays(5).Date ||
        date.Date == DateTime.Now.AddDays(7).Date ||
        date.Date == DateTime.Now.AddDays(9).Date)
    {
        return false;
    }

    return true;
};

 

Use a different calendar system

 

    <calendar:SfCalendar Identifier="Hijri" />

Use dialog mode for date selection

    <Grid>
        <calendar:SfCalendar x:Name="calendar"
                             Mode="Dialog" />
        <Button Text="Open Calendar" 
                x:Name="calendarButton"
                Clicked="Button_Clicked"
                HorizontalOptions="Center"
                VerticalOptions="Center"
                HeightRequest="50" 
                WidthRequest="150">
        </Button>
    </Grid>
using Syncfusion.Maui.Calendar;
. . .

private void Button_Clicked(object sender, System.EventArgs e)
{
    this.calendar.IsOpen = true;
}

For more features, see the Calendar documentation.

Dependencies

Installing this package also installs the following packages:

  • Microsoft.Maui.Controls
  • Syncfusion.Maui.Core
  • Syncfusion.Maui.Popup

Licensing

This is a commercial product and requires a paid license. You have three options:

Register your license key

Register the key in MauiProgram.cs before the app is built:

Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR_LICENSE_KEY");

For details, see Licensing overview. Use of this package is subject to the Syncfusion EULA.

Support and feedback

About Syncfusion

Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 26,000+ customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies.

Today, we provide 1600+ components and frameworks for web (Blazor, ASP.NET Core, ASP.NET MVC, ASP.NET WebForms, JavaScript, Angular, React, Vue, and Flutter), mobile (.NET MAUI, Xamarin, Flutter, UWP, and JavaScript), and desktop development (WinForms, WPF, WinUI, Flutter and UWP). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software.


[email protected] | www.syncfusion.com | Toll Free: 1-888-9 DOTNET

Changes from Previous Version

No structural changes between v35.1.37 and v35.1.39.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 10 target frameworks; confirm the exact target used by your application.The published metadata declares 30 direct dependency entries across framework groups. Inspect the resolved dependency graph for your target framework.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.