# Scheduler Elements That Support Templates | WPF Controls | DevExpress Documentation

An [AppointmentControl](/WPF/DevExpress.Xpf.Scheduling.Visual.AppointmentControl) is a content container for appointment information and appointment display options. The [AppointmentViewModel](/WPF/DevExpress.Xpf.Scheduling.VisualData.AppointmentViewModel) object contains appointment information and represents a data context for the [AppointmentControl](/WPF/DevExpress.Xpf.Scheduling.Visual.AppointmentControl) template.

The [EditTemplate](/WPF/DevExpress.Xpf.Scheduling.Visual.AppointmentControl.EditTemplate) property specifies the inplace editor data template. The [ImageBoxTemplate](/WPF/DevExpress.Xpf.Scheduling.Visual.AppointmentControl.ImageBoxTemplate) property specifies the data template visualized in the appointment’s bottom right corner where [recurrence](/WPF/119213/controls-and-libraries/scheduler/appointments/recurrence) and [reminder](/WPF/119237/controls-and-libraries/scheduler/reminders) icons are located.

The [SchedulerControl](/WPF/DevExpress.Xpf.Scheduling.SchedulerControl) uses different [AppointmentControl](/WPF/DevExpress.Xpf.Scheduling.Visual.AppointmentControl) descendants to visualize appointments based on the following settings:

- The specified [view](/WPF/119203/controls-and-libraries/scheduler/views).
- Whether a user [drags](/WPF/400539/controls-and-libraries/scheduler/drag-and-drop-appointments) the appointment.
- Whether the appointment is an all-day appointment.

The class diagram of the visual appointment controls is shown below.

![WPFScheduler_AppointmentControlDiagam](/WPF/images/wpfscheduler_appointmentcontroldiagam132151.png)

Each [Scheduler view](/WPF/119203/controls-and-libraries/scheduler/views) contains **AppointmentContentTemplate** and **AppointmentContentTemplateSelector** properties that allow you to specify a template used to visualize appointment content:

| View | Appointment Template |
| --- | --- |
| [Day View](/WPF/119204/controls-and-libraries/scheduler/views/day-view) | [DayViewBase.AppointmentContentTemplate](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AppointmentContentTemplate), [DayViewBase.AppointmentContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AppointmentContentTemplateSelector), [AllDayAppointmentContentTemplate](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AllDayAppointmentContentTemplate), [AllDayAppointmentContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AllDayAppointmentContentTemplateSelector) |
| [Work Week View](/WPF/119205/controls-and-libraries/scheduler/views/work-week-view) | [DayViewBase.AppointmentContentTemplate](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AppointmentContentTemplate), [DayViewBase.AppointmentContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AppointmentContentTemplateSelector), [AllDayAppointmentContentTemplate](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AllDayAppointmentContentTemplate), [AllDayAppointmentContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AllDayAppointmentContentTemplateSelector) |
| [Week View](/WPF/119206/controls-and-libraries/scheduler/views/week-view) | [DayViewBase.AppointmentContentTemplate](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AppointmentContentTemplate), [DayViewBase.AppointmentContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AppointmentContentTemplateSelector), [AllDayAppointmentContentTemplate](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AllDayAppointmentContentTemplate), [AllDayAppointmentContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AllDayAppointmentContentTemplateSelector) |
| [Month View](/WPF/119207/controls-and-libraries/scheduler/views/month-view) | [MonthView.AppointmentContentTemplate](/WPF/DevExpress.Xpf.Scheduling.MonthView.AppointmentContentTemplate), [MonthView.AppointmentContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.MonthView.AppointmentContentTemplateSelector), [AppointmentContentTemplate](/WPF/DevExpress.Xpf.Scheduling.MonthView.AppointmentContentTemplate), [AppointmentContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.MonthView.AppointmentContentTemplateSelector) |
| [Timeline View](/WPF/119586/controls-and-libraries/scheduler/views/timeline-view) | [TimelineView.AppointmentContentTemplate](/WPF/DevExpress.Xpf.Scheduling.TimelineView.AppointmentContentTemplate), [TimelineView.AppointmentContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.TimelineView.AppointmentContentTemplateSelector) |
| [Agenda View](/WPF/400420/controls-and-libraries/scheduler/views/agenda-view) | [AgendaView.AppointmentContentTemplate](/WPF/DevExpress.Xpf.Scheduling.AgendaView.AppointmentContentTemplate), [AgendaView.AppointmentContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.AgendaView.AppointmentContentTemplateSelector) |

The table below lists template properties that allow you to modify the [SchedulerControl](/WPF/DevExpress.Xpf.Scheduling.SchedulerControl) visual elements.

| Visual Element | Property | Data Context (Binding Source) |
| --- | --- | --- |
| Time Cells | Day View, Week View, Work Week View:<br><br><br>[AllDayCellContentTemplate](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AllDayCellContentTemplate)<br><br><br>[AllDayCellContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.AllDayCellContentTemplateSelector)<br><br><br>[CellContentTemplate](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.CellContentTemplate)<br><br><br>[CellContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.CellContentTemplateSelector)<br><br><br>Month View:<br><br><br>[CellContentTemplate](/WPF/DevExpress.Xpf.Scheduling.MonthView.CellContentTemplate)<br><br><br>[CellContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.MonthView.CellContentTemplateSelector) | [DayCellViewModel](/WPF/DevExpress.Xpf.Scheduling.VisualData.DayCellViewModel) |
| Time Ruler | [TimeRulerTemplate](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.TimeRulerTemplate) | [DayViewBase.TimeRulersSource](/WPF/DevExpress.Xpf.Scheduling.DayViewBase.TimeRulersSource) |
| [Resources Tree](/WPF/400491/controls-and-libraries/scheduler/visual-elements/resource-tree) cells | [ResourceCellTemplate](/WPF/DevExpress.Xpf.Scheduling.ResourceTreeControl.ResourceCellTemplate) | The [ResourceMappings.Caption](/WPF/DevExpress.Xpf.Scheduling.ResourceMappings.Caption) property of the [SchedulerControl.DataSource](/WPF/DevExpress.Xpf.Scheduling.SchedulerControl.DataSource) |
| [Resources Tree](/WPF/400491/controls-and-libraries/scheduler/visual-elements/resource-tree) groups | [GroupCellTemplate](/WPF/DevExpress.Xpf.Scheduling.ResourceTreeControl.GroupCellTemplate) | The [ResourceMappings.Group](/WPF/DevExpress.Xpf.Scheduling.ResourceMappings.Group) property of the [SchedulerControl.DataSource](/WPF/DevExpress.Xpf.Scheduling.SchedulerControl.DataSource) |
| [Appointment flyout](/WPF/119798/controls-and-libraries/scheduler/visual-elements/appointment-flyout) | [FlyoutContentTemplate](/WPF/DevExpress.Xpf.Scheduling.SchedulerControl.FlyoutContentTemplate) | [AppointmentItem](/WPF/DevExpress.Xpf.Scheduling.AppointmentItem) |
| Date Headers | [DateHeaderContentTemplate](/WPF/DevExpress.Xpf.Scheduling.SchedulerViewBase.DateHeaderContentTemplate)<br><br><br>[DateHeaderContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.SchedulerViewBase.DateHeaderContentTemplateSelector) | **DevExpress.Xpf.Scheduling.VisualData.DateHeaderViewModel** |
| Resource Headers | [ResourceHeaderContentTemplate](/WPF/DevExpress.Xpf.Scheduling.SchedulerViewBase.ResourceHeaderContentTemplate)<br><br><br>[ResourceHeaderContentTemplateSelector](/WPF/DevExpress.Xpf.Scheduling.SchedulerViewBase.ResourceHeaderContentTemplateSelector) | **DevExpress.Xpf.Scheduling.VisualData.ResourceHeaderViewModel** |