Calendar Class
Definition
Represents a control that enables a user to select a date by using a visual calendar display.
public class Calendar
Remarks
A Calendar control can be used on its own, or as a drop-down part of a DatePicker control. For more information, see DatePicker. A Calendar displays either the days of a month, the months of a year, or the years of a decade, depending on the value of the DisplayMode property. When displaying the days of a month, the user can select a date, a range of dates, or multiple ranges of dates. The kinds of selections that are allowed are controlled by the SelectionMode property.
The range of dates displayed is governed by the DisplayDateStart and DisplayDateEnd properties. If DisplayMode is Year or Decade, only months or years that contain displayable dates will be displayed. Setting the displayable range to a range that does not include the current DisplayDate will throw an ArgumentOutOfRangeException.
The BlackoutDates property can be used to specify dates that cannot be selected. These dates will be displayed as dimmed and disabled.
By default, Today is highlighted. This can be disabled by setting IsTodayHighlighted to false.
The Calendar control provides basic navigation using either the mouse or keyboard. The following table summarizes keyboard navigation.
Key Combination DisplayMode Action ARROW Any Change focused date, unselect all selected dates, and select new focused date.
SHIFT+ARROW Any If SelectionMode is not set to SingleDate or None begin selecting a range of dates.
CTRL+UP ARROW Any Switch to the next larger DisplayMode. If DisplayMode is already Decade, no action.
CTRL+DOWN ARROW Any Switch to the next smaller DisplayMode. If DisplayMode is already Month, no action.
SPACEBAR Month Select focused date.
SPACEBAR Year or Decade Switch DisplayMode to the Month or Year represented by focused item.
XAML Usage for Classes Derived from Calendar If you define a class that derives from Calendar, the class can be used as an object element in XAML, and all of the inherited properties and events that show a XAML usage in the reference for the Calendar members can have the same XAML usage for the derived class. However, the object element itself must have a different prefix mapping than the controls: mapping shown in the usages, because the derived class comes from an assembly and namespace that you create and define. You must define your own prefix mapping to an XML namespace to use the class as an object element in XAML.
Constructors
| Name | Description |
|---|---|
| Calendar | Initializes a new instance of the System.Windows.Controls.Calendar class. |
Calendar Constructor
Initializes a new instance of the System.Windows.Controls.Calendar class.
public Calendar()
Methods
| Name | Description |
|---|---|
| ToString | No summary available. |
| ApplyTemplate | Creates the visual children of the control, if necessary Inherited from TemplatedControl. |
| GetIsTemplateFocusTarget | Gets the value of the IsTemplateFocusTargetProperty attached property on a control. Inherited from TemplatedControl. |
| SetIsTemplateFocusTarget | Sets the value of the IsTemplateFocusTargetProperty attached property on a control. Inherited from TemplatedControl. |
| Focus | Focuses the control. Inherited from InputElement. |
| GetIsHoldWithMouseEnabled | Inherited from InputElement. |
| GetIsHoldingEnabled | Inherited from InputElement. |
| SetIsHoldWithMouseEnabled | Inherited from InputElement. |
| SetIsHoldingEnabled | Inherited from InputElement. |
| AddHandler (2 overloads) | Adds a handler for the specified routed event. Inherited from Interactive. |
| RaiseEvent | Raises a routed event. Inherited from Interactive. |
| RemoveHandler (2 overloads) | Removes a handler for the specified routed event. Inherited from Interactive. |
| Arrange | Arranges the control and its children. Inherited from Layoutable. |
| InvalidateArrange | Invalidates the arrangement of the control and queues a new layout pass. Inherited from Layoutable. |
| InvalidateMeasure | Invalidates the measurement of the control and queues a new layout pass. Inherited from Layoutable. |
| Measure | Carries out a measure of the control. Inherited from Layoutable. |
| UpdateLayout | Executes a layout pass. Inherited from Layoutable. |
| GetFlowDirection | Gets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual. |
| InvalidateVisual | Invalidates the visual and queues a repaint. Inherited from Visual. |
| Render | Renders the visual to a Avalonia.Media.DrawingContext. Inherited from Visual. |
| SetFlowDirection | Sets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual. |
| ApplyStyling | Applies styling to the control if the control is initialized and styling is not already applied. Inherited from StyledElement. |
| BeginInit | Inherited from StyledElement. |
| EndInit | Inherited from StyledElement. |
| TryGetResource | Inherited from StyledElement. |
| Bind (8 overloads) | Binds a Avalonia.AvaloniaProperty to an Avalonia.Data.BindingBase. Inherited from AvaloniaObject. |
| CheckAccess | Returns a value indicating whether the current thread is the UI thread. Inherited from AvaloniaObject. |
| ClearValue (4 overloads) | Clears a Avalonia.AvaloniaProperty's local value. Inherited from AvaloniaObject. |
| CoerceValue | Coerces the specified Avalonia.AvaloniaProperty. Inherited from AvaloniaObject. |
| Equals | Compares two objects using reference equality. Inherited from AvaloniaObject. |
| GetBaseValue | Inherited from AvaloniaObject. |
| GetHashCode | Gets the hash code for the object. Inherited from AvaloniaObject. |
| GetValue (3 overloads) | Gets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject. |
| IsAnimating | Checks whether a Avalonia.AvaloniaProperty is animating. Inherited from AvaloniaObject. |
| IsSet | Checks whether a Avalonia.AvaloniaProperty is set on this object. Inherited from AvaloniaObject. |
| SetCurrentValue (2 overloads) | Sets the value of a dependency property without changing its value source. Inherited from AvaloniaObject. |
| SetValue (3 overloads) | Sets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject. |
| VerifyAccess | Checks that the current thread is the UI thread and throws if not. Inherited from AvaloniaObject. |
ToString Method
public string ToString()
Returns
string
Properties
| Name | Description |
|---|---|
| AllowTapRangeSelection | Gets or sets a value indicating whether tap-to-select range mode is enabled. When enabled, users can tap a start date and then tap an end date to select a range. |
| BlackoutDates | Gets a collection of dates that are marked as not selectable. |
| DisplayDate | Gets or sets the date to display. |
| DisplayDateEnd | Gets or sets the last date to be displayed. |
| DisplayDateStart | Gets or sets the first date to be displayed. |
| DisplayMode | Gets or sets a value indicating whether the calendar is displayed in months, years, or decades. |
| FirstDayOfWeek | Gets or sets the day that is considered the beginning of the week. |
| HeaderBackground | No summary available. |
| IsTodayHighlighted | Gets or sets a value indicating whether the current date is highlighted. |
| SelectedDate | Gets or sets the currently selected date. |
| SelectedDates | Gets a collection of selected dates. |
| SelectionMode | Gets or sets a value that indicates what kind of selections are allowed. |
| Background | Gets or sets the brush used to draw the control's background. Inherited from TemplatedControl. |
| BackgroundSizing | Gets or sets how the control's background is drawn relative to the control's border. Inherited from TemplatedControl. |
| BorderBrush | Gets or sets the brush used to draw the control's border. Inherited from TemplatedControl. |
| BorderThickness | Gets or sets the thickness of the control's border. Inherited from TemplatedControl. |
| CornerRadius | Gets or sets the radius of the border rounded corners. Inherited from TemplatedControl. |
| FontFamily | Gets or sets the font family used to draw the control's text. Inherited from TemplatedControl. |
| FontFeatures | Gets or sets the font features turned on/off. Inherited from TemplatedControl. |
| FontSize | Gets or sets the size of the control's text in points. Inherited from TemplatedControl. |
| FontStretch | Gets or sets the font stretch used to draw the control's text. Inherited from TemplatedControl. |
| FontStyle | Gets or sets the font style used to draw the control's text. Inherited from TemplatedControl. |
| FontWeight | Gets or sets the font weight used to draw the control's text. Inherited from TemplatedControl. |
| Foreground | Gets or sets the brush used to draw the control's text and other foreground elements. Inherited from TemplatedControl. |
| LetterSpacing | Gets or sets the letter spacing for the control's text content. Inherited from TemplatedControl. |
| Padding | Gets or sets the padding placed between the border of the control and its content. Inherited from TemplatedControl. |
| Template | Gets or sets the template that defines the control's appearance. Inherited from TemplatedControl. |
| ContextFlyout | Gets or sets a context flyout to the control Inherited from Control. |
| ContextMenu | Gets or sets a context menu to the control. Inherited from Control. |
| DataTemplates | Gets or sets the data templates for the control. Inherited from Control. |
| FocusAdorner | Gets or sets the control's focus adorner. Inherited from Control. |
| IsLoaded | Gets a value indicating whether the control is fully constructed in the visual tree and both layout and render are complete. Inherited from Control. |
| Tag | Gets or sets a user-defined object attached to the control. Inherited from Control. |
| Cursor | Gets or sets associated mouse cursor. Inherited from InputElement. |
| Focusable | Gets or sets a value indicating whether the control can receive focus. Inherited from InputElement. |
| GestureRecognizers | Inherited from InputElement. |
| IsEffectivelyEnabled | Gets a value indicating whether this control and all its parents are enabled. Inherited from InputElement. |
| IsEnabled | Gets or sets a value indicating whether the control is enabled for user interaction. Inherited from InputElement. |
| IsFocused | Gets a value indicating whether the control is focused. Inherited from InputElement. |
| IsHitTestVisible | Gets or sets a value indicating whether the control is considered for hit testing. Inherited from InputElement. |
| IsKeyboardFocusWithin | Gets a value indicating whether keyboard focus is anywhere within the element or its visual tree child elements. Inherited from InputElement. |
| IsPointerOver | Gets a value indicating whether the pointer is currently over the control. Inherited from InputElement. |
| IsTabStop | Gets or sets a value that indicates whether the control is included in tab navigation. Inherited from InputElement. |
| KeyBindings | Inherited from InputElement. |
| TabIndex | Gets or sets a value that determines the order in which elements receive focus when the user navigates through controls by pressing the Tab key. Inherited from InputElement. |
| DesiredSize | Gets the size that this element computed during the measure pass of the layout process. Inherited from Layoutable. |
| Height | Gets or sets the height of the element. Inherited from Layoutable. |
| HorizontalAlignment | Gets or sets the element's preferred horizontal alignment in its parent. Inherited from Layoutable. |
| IsArrangeValid | Gets a value indicating whether the control's layouts arrange is valid. Inherited from Layoutable. |
| IsMeasureValid | Gets a value indicating whether the control's layout measure is valid. Inherited from Layoutable. |
| Margin | Gets or sets the margin around the element. Inherited from Layoutable. |
| MaxHeight | Gets or sets the maximum height of the element. Inherited from Layoutable. |
| MaxWidth | Gets or sets the maximum width of the element. Inherited from Layoutable. |
| MinHeight | Gets or sets the minimum height of the element. Inherited from Layoutable. |
| MinWidth | Gets or sets the minimum width of the element. Inherited from Layoutable. |
| UseLayoutRounding | Gets or sets a value that determines whether the element should be snapped to pixel boundaries at layout time. Inherited from Layoutable. |
| VerticalAlignment | Gets or sets the element's preferred vertical alignment in its parent. Inherited from Layoutable. |
| Width | Gets or sets the width of the element. Inherited from Layoutable. |
| Bounds | Gets the bounds of the control relative to its parent. Inherited from Visual. |
| CacheMode | Gets or sets the cache mode of the visual. Inherited from Visual. |
| Clip | Gets or sets the geometry clip for this visual. Inherited from Visual. |
| ClipToBounds | Gets or sets a value indicating whether the control should be clipped to its bounds. Inherited from Visual. |
| Effect | Gets or sets the effect of the control. Inherited from Visual. |
| FlowDirection | Gets or sets the text flow direction. Inherited from Visual. |
| HasMirrorTransform | Gets or sets a value indicating whether to apply mirror transform on this control. Inherited from Visual. |
| IsEffectivelyVisible | Gets a value indicating whether this control and all its parents are visible. Inherited from Visual. |
| IsVisible | Gets or sets a value indicating whether this control is visible. Inherited from Visual. |
| Opacity | Gets or sets the opacity of the control. Inherited from Visual. |
| OpacityMask | Gets or sets the opacity mask of the control. Inherited from Visual. |
| RenderTransform | Gets or sets the render transform of the control. Inherited from Visual. |
| RenderTransformOrigin | Gets or sets the transform origin of the control. Inherited from Visual. |
| ZIndex | Gets or sets the Z index of the control. Inherited from Visual. |
| ActualThemeVariant | Gets the UI theme that is currently used by the element, which might be different than the RequestedThemeVariantProperty. Inherited from StyledElement. |
| Classes | Gets or sets the styled element's classes. Inherited from StyledElement. |
| DataContext | Gets or sets the control's data context. Inherited from StyledElement. |
| IsInitialized | Gets a value that indicates whether the element has finished initialization. Inherited from StyledElement. |
| Name | Gets or sets the name of the styled element. Inherited from StyledElement. |
| Parent | Gets the styled element's logical parent. Inherited from StyledElement. |
| Resources | Gets or sets the styled element's resource dictionary. Inherited from StyledElement. |
| StyleKey | Gets the type by which the element is styled. Inherited from StyledElement. |
| Styles | Gets the styles for the styled element. Inherited from StyledElement. |
| TemplatedParent | Gets the styled element whose lookless template this styled element is part of. Inherited from StyledElement. |
| Theme | Gets or sets the theme to be applied to the element. Inherited from StyledElement. |
| Transitions | Gets or sets the property transitions for the control. Inherited from Animatable. |
| Dispatcher | Returns the Avalonia.AvaloniaObject.Dispatcher that this Avalonia.AvaloniaObject is associated with. Inherited from AvaloniaObject. |
| Item | Inherited from AvaloniaObject. |
AllowTapRangeSelection Property
Gets or sets a value indicating whether tap-to-select range mode is enabled. When enabled, users can tap a start date and then tap an end date to select a range.
public bool AllowTapRangeSelection { get; set; }
Value
True to enable tap range selection; otherwise, false. The default is false.
Remarks
This feature only works when SelectionMode is set to SingleRange. When enabled, the first tap selects the start date, and the second tap selects the end date to complete the range. Tapping a third date starts a new range.
BlackoutDates Property
Gets a collection of dates that are marked as not selectable.
public Avalonia.Controls.Primitives.CalendarBlackoutDatesCollection BlackoutDates { get; set; }
Value
A collection of dates that cannot be selected. The default value is an empty collection.
Remarks
Dates in this collection will appear as disabled on the calendar.
To make all past dates not selectable, you can use the AddDatesInPast method provided by the collection returned by this property.
Exceptions
DisplayDate Property
Gets or sets the date to display.
public DateTime DisplayDate { get; set; }
Value
The date to display.
Remarks
This property allows the developer to specify a date to display. If this property is a null reference (Nothing in Visual Basic), SelectedDate is displayed. If SelectedDate is also a null reference (Nothing in Visual Basic), Today is displayed. The default is Today.
To set this property in XAML, use a date specified in the format yyyy/mm/dd. The mm and dd components must always consist of two characters, with a leading zero if necessary. For instance, the month of May should be specified as 05.
Exceptions
DisplayDateEnd Property
Gets or sets the last date to be displayed.
public Nullable<DateTime> DisplayDateEnd { get; set; }
Value
The last date to display.
Remarks
To set this property in XAML, use a date specified in the format yyyy/mm/dd. The mm and dd components must always consist of two characters, with a leading zero if necessary. For instance, the month of May should be specified as 05.
DisplayDateStart Property
Gets or sets the first date to be displayed.
public Nullable<DateTime> DisplayDateStart { get; set; }
Value
The first date to display.
Remarks
To set this property in XAML, use a date specified in the format yyyy/mm/dd. The mm and dd components must always consist of two characters, with a leading zero if necessary. For instance, the month of May should be specified as 05.
DisplayMode Property
Gets or sets a value indicating whether the calendar is displayed in months, years, or decades.
public Avalonia.Controls.CalendarMode DisplayMode { get; set; }
Value
A value indicating what length of time the System.Windows.Controls.Calendar should display.
FirstDayOfWeek Property
Gets or sets the day that is considered the beginning of the week.
public DayOfWeek FirstDayOfWeek { get; set; }
Value
A DayOfWeek representing the beginning of the week. The default is DayOfWeek.Sunday.
HeaderBackground Property
public Avalonia.Media.IBrush HeaderBackground { get; set; }
IsTodayHighlighted Property
Gets or sets a value indicating whether the current date is highlighted.
public bool IsTodayHighlighted { get; set; }
Value
True if the current date is highlighted; otherwise, false. The default is true.
SelectedDate Property
Gets or sets the currently selected date.
public Nullable<DateTime> SelectedDate { get; set; }
Value
The date currently selected. The default is null.
Remarks
Use this property when SelectionMode is set to SingleDate. In other modes, this property will always be the first date in SelectedDates.
Exceptions
- The given date is outside the range specified by [System.Windows.Controls.Calendar.DisplayDateStart](xref:System.Windows.Controls.Calendar.DisplayDateStart) and [System.Windows.Controls.Calendar.DisplayDateEnd](xref:System.Windows.Controls.Calendar.DisplayDateEnd) -or- The given date is in the [System.Windows.Controls.Calendar.BlackoutDates](xref:System.Windows.Controls.Calendar.BlackoutDates) collection.
- If set to anything other than null when [System.Windows.Controls.Calendar.SelectionMode](xref:System.Windows.Controls.Calendar.SelectionMode) is set to [System.Windows.Controls.CalendarSelectionMode.None](xref:System.Windows.Controls.CalendarSelectionMode.None).
SelectedDates Property
Gets a collection of selected dates.
public Avalonia.Controls.Primitives.SelectedDatesCollection SelectedDates { get; set; }
Value
A System.Windows.Controls.SelectedDatesCollection object that contains the currently selected dates. The default is an empty collection.