# C1Calendar Elements

## Content

User interface abstraction of [C1Calendar](/componentone/api/wpf/online-scheduler/dotnet-framework-api/C1.WPF.Schedule.4.6.2/C1.WPF.Schedule.C1Calendar.html) implies an existence of three main parts:

1. A pane that represents a list of the month's days
2. A pane that represents a list of days of the week names
3. A command pane that is intended to represent a UI that manages a selection of the current month/year

A list of days is represented by the [C1CalendarItemPresenter](/componentone/api/wpf/online-scheduler/dotnet-framework-api/C1.WPF.Schedule.4.6.2/C1.WPF.Schedule.C1CalendarItemPresenter.html) object, which is inherited from the **ListBox** class. An instance of C1CalendarItemPresenter class is used in the C1Calendar's template visual tree to define a place where a panel with calendar days will appear.

C1Calendar generates UI elements (of the [DaySlotPresenter](/componentone/api/wpf/online-scheduler/dotnet-framework-api/C1.WPF.Schedule.4.6.2/C1.WPF.Schedule.DaySlotPresenter.html) class) representing calendar day cells for the **CalendarBase.Year** and **CalendarBase.Month** properties. An actual UI of these DaySlotPresenter elements is defined in the [C1CalendarResources.DaySlotTemplate](/componentone/api/wpf/online-scheduler/dotnet-framework-api/C1.WPF.Schedule.4.6.2/C1.WPF.Schedule.C1CalendarResources.DaySlotTemplate.html) property. Those elements become children of a panel whose UI is defined in the [CalendarBase.DaysPanel](/componentone/api/wpf/online-scheduler/dotnet-framework-api/C1.WPF.Schedule.4.6.2/C1.WPF.Schedule.CalendarBase.DaysPanel.html) property.

>type=note
> **Note**: A regular calendar contains 6 week rows; each row contains 7 days; therefore, 6 \* 7 = 42 day cells (referred to as "slots"). Some cells don't represent any day - they are just empty cells. 

>type=note
> **Note**: C1Calendar is a part of C1.WPF.Schedule .NET Framework assembly only so it can be used directly without using any other assembly. However, it is not a part of the C1.WPF.Scheduler (.NET) assembly. Therefore, in order to use C1Calendar with the Scheduler control for .NET, you need to use the C1.WPF.Calendar assembly.