Links

Calendar

The Calendar control is a standard Calendar control for users to select date(s) or date ranges.

Common Properties

Property
Description
SelectionMode
Gets or sets a value that indicates what kind of selections are allowed.
DisplayMode
Gets or sets a value indicating whether the calendar is displayed in months, years, or decades.
SelectedDate
Gets or sets the currently selected date.
SelectedDates
Gets a collection of selected dates.
DisplayDate
Gets or sets the date to display.
DisplayDateStart
Gets or sets the first date to be displayed.
DisplayDateEnd
Gets or sets the last date to be displayed.
BlackoutDates
Gets a collection of dates that are marked as not selectable.

Reference

Calendar

Source code

Examples

Basic Calendar

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="AvaloniaAppTemplate.MainWindow"
Title="AvaloniaAppTemplate">
<StackPanel>
<Calendar SelectionMode="SingleDate" />
</StackPanel>
</Window>

Range selection Calendar

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="AvaloniaAppTemplate.MainWindow"
Title="AvaloniaAppTemplate">
<StackPanel>
<Calendar SelectionMode="SingleRange" />
</StackPanel>
</Window>
After selecting the start date, a single range can be selected by holding the shift key and clicking on the end date.

Calendar with custom start and end dates

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="AvaloniaAppTemplate.MainWindow"
Title="AvaloniaAppTemplate">
<StackPanel>
<Calendar Name="DisplayDatesCalendar" SelectionMode="SingleDate"/>
</StackPanel>
</Window>
With this code to set the start and end dates:
var today = DateTime.Today;
var cal1 = this.FindControl<Calendar>("DisplayDatesCalendar");
cal1.DisplayDateStart = today.AddDays(-25);
cal1.DisplayDateEnd = today.AddDays(25);