Plugin.Maui.NativeCalendar
1.0.6
dotnet add package Plugin.Maui.NativeCalendar --version 1.0.6
NuGet\Install-Package Plugin.Maui.NativeCalendar -Version 1.0.6
<PackageReference Include="Plugin.Maui.NativeCalendar" Version="1.0.6" />
<PackageVersion Include="Plugin.Maui.NativeCalendar" Version="1.0.6" />
<PackageReference Include="Plugin.Maui.NativeCalendar" />
paket add Plugin.Maui.NativeCalendar --version 1.0.6
#r "nuget: Plugin.Maui.NativeCalendar, 1.0.6"
#:package Plugin.Maui.NativeCalendar@1.0.6
#addin nuget:?package=Plugin.Maui.NativeCalendar&version=1.0.6
#tool nuget:?package=Plugin.Maui.NativeCalendar&version=1.0.6

Plugin.Maui.NativeCalendar
Plugin.Maui.NativeCalendar provides the ability to implement native calendar functionality in your .NET MAUI app.
iOS
<img src="https://raw.githubusercontent.com/edgiardina/Plugin.Maui.NativeCalendar/main/ios-example.png" width=200>
Android
<img src="https://raw.githubusercontent.com/edgiardina/Plugin.Maui.NativeCalendar/main/android-example.png" width=200>
Install Plugin
Available on NuGet.
Install with the dotnet CLI: dotnet add package Plugin.Maui.NativeCalendar, or through the NuGet Package Manager in Visual Studio.
Supported Platforms
| Platform | Minimum Version Supported |
|---|---|
| iOS | 16+ |
| Android | 5.0 (API 21) |
API Usage
Plugin.Maui.NativeCalendar provides the NativeCalendar class that displays a native calendar view in your .NET MAUI app.
The calendar view on iOS is implemented using UICalendarView.
The calendar view on Android is implemented using MaterialCalendar, a class used in the MaterialDatePicker from the Android Material library.
Sizing
- iOS reports an intrinsic size, so the calendar sizes itself. A
HeightRequestis optional and only needed to override the natural height. - Android fills the height it is given but does not report an intrinsic height. The underlying
MaterialCalendaris a fragment whose size is not known until it renders. Give the control aHeightRequest, or place it in a slot with a definite height, for example aGridrow with height*orVerticalOptions="Fill"inside a bounded container.
Platform feature matrix
| Feature | iOS (UICalendarView) |
Android (MaterialCalendar) |
|---|---|---|
| Single date selection | Yes | Yes |
Event indicator dots (Events, EventIndicatorColor) |
Yes | Yes |
TintColor for today and selected day |
Yes | Yes |
MinimumDate / MaximumDate |
Yes | Yes |
Self-sizing without a HeightRequest |
Yes | No, give it a height or a fill slot |
| Minimum OS | iOS 16 | API 21 |
The Events collection updates the calendar when the property is reassigned and when an ObservableCollection bound to it is changed in place.
Permissions
iOS
No permissions are needed for iOS.
Android
No permissions are needed for Android.
Dependency Injection
In order to enable the plugin, you need to call the UseNativeCalendar method in the MauiProgram.cs file of your .NET MAUI app.
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseNativeCalendar() // <--- Add this line
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
Native Calendar Implementation
You'll need to add a xmlns namespace to your XAML page:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Plugin.Maui.NativeCalendar.Sample.MainPage"
xmlns:nativecalendar="clr-namespace:Plugin.Maui.NativeCalendar;assembly=Plugin.Maui.NativeCalendar"
Title="Native Calendar Plugin">
And then consume your calendar in the XAML page:
<nativecalendar:NativeCalendarView MaximumDate="{Binding MaximumDate}"
MinimumDate="{Binding MinimumDate}"
SelectedDate="{Binding SelectedDate}"
Events="{Binding Events}"
EventIndicatorColor="{Binding EventIndicatorColor}"
HeightRequest="500"
DateChanged="NativeCalendarView_DateChanged" />
Events
DateChanged
Occurs when Date is selected via user interaction.
Commands
DateChangedCommand
Command that is executed when Date is selected via user interaction.
Properties
TintColor
Bindable property indicating the color of the current day and selected day on the calendar for iOS
EventIndicatorColor
Color of the Event Indicator, a dot that appears below the date number indicating there is an event on that date. Currently only allows single date selection.
MinimumDate
Lowest date that can be selected on the calendar.
MaximumDate
Greatest date that can be selected on the calendar.
SelectedDate
Date that is currently selected on the calendar.
Events
List of dates that have events. The calendar will display a dot below the date number to indicate there is an event on that date.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-android36.0 is compatible. net10.0-ios26.0 is compatible. net10.0-maccatalyst26.0 is compatible. |
-
net10.0-android36.0
- Microsoft.Maui.Controls (>= 10.0.10)
-
net10.0-ios26.0
- Microsoft.Maui.Controls (>= 10.0.10)
-
net10.0-maccatalyst26.0
- Microsoft.Maui.Controls (>= 10.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.6 | 74 | 8/8/2026 |
| 1.0.5 | 56 | 8/8/2026 |
| 1.0.4 | 641 | 11/18/2025 |
| 1.0.3 | 450 | 11/18/2025 |
| 1.0.2 | 454 | 11/18/2025 |
| 1.0.1 | 349 | 11/17/2025 |
| 0.9.0 | 939 | 11/15/2024 |
| 0.8.2 | 241 | 10/30/2024 |
| 0.8.1 | 180 | 10/30/2024 |
| 0.8.0 | 189 | 10/30/2024 |
| 0.1.8 | 207 | 10/25/2024 |
| 0.1.7 | 188 | 10/25/2024 |
| 0.1.6 | 205 | 10/24/2024 |
| 0.1.5 | 208 | 10/21/2024 |
| 0.1.4 | 217 | 10/21/2024 |
| 0.1.3 | 213 | 10/20/2024 |
| 0.1.2 | 198 | 10/19/2024 |
| 0.1.1 | 217 | 10/19/2024 |