Calendar.BlackoutDates Property
Gets a collection of dates that are marked as not selectable.
Assembly: PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
<object> <object.BlackoutDates> oneOrMoreCalendarDateRanges </object.BlackoutDates> </object>
XAML Values
Property Value
Type: System.Windows.Controls.CalendarBlackoutDatesCollectionA collection of dates that cannot be selected. The default value is an empty collection.
Dates in this collection will appear gray and crossed out on the calendar.
To make all past dates not selectable, you can use the AddDatesInPast method provided by the collection returned by this property.
The following example creates a Calendar that has some dates that cannot be selected.
// Create a Calendar that displays dates through // Januarary 31, 2009 and has dates that are not selectable. Calendar calendarWithBlackoutDates = new Calendar(); calendarWithBlackoutDates.IsTodayHighlighted = false; calendarWithBlackoutDates.DisplayDate = new DateTime(2009, 1, 1); calendarWithBlackoutDates.DisplayDateEnd = new DateTime(2009, 1, 31); calendarWithBlackoutDates.SelectionMode = CalendarSelectionMode.MultipleRange; // Add the dates that are not selectable. calendarWithBlackoutDates.BlackoutDates.Add( new CalendarDateRange(new DateTime(2009, 1, 2), new DateTime(2009, 1, 4))); calendarWithBlackoutDates.BlackoutDates.Add( new CalendarDateRange(new DateTime(2009, 1, 9))); calendarWithBlackoutDates.BlackoutDates.Add( new CalendarDateRange(new DateTime(2009, 1, 16))); calendarWithBlackoutDates.BlackoutDates.Add( new CalendarDateRange(new DateTime(2009, 1, 23), new DateTime(2009, 1, 25))); calendarWithBlackoutDates.BlackoutDates.Add( new CalendarDateRange(new DateTime(2009, 1, 30))); // Add the selected dates. calendarWithBlackoutDates.SelectedDates.Add( new DateTime(2009, 1, 5)); calendarWithBlackoutDates.SelectedDates.AddRange( new DateTime(2009, 1, 12), new DateTime(2009, 1, 15)); calendarWithBlackoutDates.SelectedDates.Add( new DateTime(2009, 1, 27)); // root is a Panel that is defined elswhere. root.Children.Add(calendarWithBlackoutDates);
<!-- Create a Calendar that displays dates through Januarary 31, 2009 and has dates that are not selectable. --> <Calendar Margin="20" SelectionMode="MultipleRange" IsTodayHighlighted="false" DisplayDate="1/1/2009" DisplayDateEnd="1/31/2009" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <Calendar.BlackoutDates> <CalendarDateRange Start="1/2/2009" End="1/4/2009"/> <CalendarDateRange Start="1/9/2009" End="1/9/2009"/> <CalendarDateRange Start="1/16/2009" End="1/16/2009"/> <CalendarDateRange Start="1/23/2009" End="1/25/2009"/> <CalendarDateRange Start="1/30/2009" End="1/30/2009"/> </Calendar.BlackoutDates> <Calendar.SelectedDates> <sys:DateTime>1/5/2009</sys:DateTime> <sys:DateTime>1/12/2009</sys:DateTime> <sys:DateTime>1/14/2009</sys:DateTime> <sys:DateTime>1/13/2009</sys:DateTime> <sys:DateTime>1/15/2009</sys:DateTime> <sys:DateTime>1/27/2009</sys:DateTime> <sys:DateTime>4/2/2009</sys:DateTime> </Calendar.SelectedDates> </Calendar>
The preceding example produces output that is similar to the following illustration.
Calendar with dates that cannot be selected

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.