You are viewing documentation for the legacy WPF Scheduler control. If you're starting a new project, we strongly recommend that you use a new control declared in the DevExpress.Xpf.Scheduling namespace. If you decide to upgrade an existing project in order to switch to the updated scheduler control, see the Migration Guidelines document.
A service is exposed to clients as a public interface. A client can only access a service with an interface known in advance. This capability separates the implementation of a feature from the methods used to access this feature. A service enables you to create platform-independent code, and minimize the possibility of breaking changes in future versions.
You can also substitute a service with a custom descendant, by using the SchedulerControl.RemoveService method to remove the default service, and the SchedulerControl.AddService method to add a custom descendant. This technique enables you to modify the control's behavior and customize its appearance.
The following code snippet illustrates the service substitution technique.
This example demonstrates how to display TimeRuler scale captions formatted in a custom manner, so that the TimeRuler for a local time zone uses a 12-hour clock.
The code uses the TimeRulerFormatStringService descendant to substitute the ITimeRulerFormatStringService service. A custom service analyzes the TimeRuler.UseClientTimeZone property, which indicates whether the current TimeRuler displays the local time, and provides the required format string.
Provides a wrapper for using the IAppointmentFormatStringService interface, enabling you to change time formats used to display appointment start and end times, as well as the string indicating that an appointment extends beyond the visible area.