/XCalendar

A plugin for .NET providing an API for representing a calendar along with fully customisable calendar controls for Xamarin Forms and .NET MAUI

Primary LanguageC#MIT LicenseMIT

XCalendar

A plugin for .NET providing a Calendar API and DateTime extensions.

UI controls are available for Xamarin Forms and .NET MAUI.

Features include:

  • Ability to use the Calendar from code without referencing a UI framework.
  • Ability to use and reference your own models by implementing interfaces like ICalendar, ICalendarDay, or IEvent.
  • Ability to set the number of rows/weeks shown or have it be automatic.
  • Ability to change the start of the week to any day of the week.
  • Ability to select single, multiple or a range of dates.
  • Ability to restrict navigation to a range of dates and define how the calendar loops.
  • Ability to specify your own custom order of days of week, with support for duplicates and non-chronological orders.
  • Fully customisable CalendarView with custom controls, templates, and exposed default styles and commands.
  • Support for localising text (such as days of the week and day numbers).
  • And more!

Standard Calendar

Custom Days Of Week (Unordered/Duplicates)

Custom Days Of Week (3 Days Of Week)

Custom Week Amount (1 Week)

Custom Week Amount (2 Weeks)

Day Styles

Examples in the sample app include:

Duolingo Streak Calendar

Official App Sample App

Event Calendar

Custom DatePicker Dialog

Selection

Using DayView

Customising A Day

Animated Swipable Calendar

Animated.Swipable.Calendar.mp4

Connecting Selected Days