This example shows how to disable a custom set of dates in the DateEdit control.
The main idea of the approach is to add a collection of disabled dates to the DateEdit's Tag property and disable corresponding calendar buttons by using a DataTrigger with a custom MultiConverter. This MultiConverter checks if a date associated with a certain button exists in the collection of disabled dates. If so, the button's IsEnabled property is set to False.
To avoid posting disabled data when the keyboard is used instead of the mouse, the implementation of the DateEditCalendar class and its OnCellButtonClick method was also changed. This custom DateEditCalendar is used in DateEdit's popup with the help of an implicit style for the DateEdit type.