#368 – Specifying Blackout Dates in a Calendar Control
August 19, 2011 2 Comments
You can use the BlackoutDates property of a Calendar control to specify dates that a user cannot select.
The BlackoutDates property is of type CalendarBlackoutDatesCollection, which is an observable collection of CalendarDateRange objects. You can specify a set of blackout dates for a Calendar control in XAML by defining a series of CalendarDateRange instances.
<Calendar Name="calMuseum" SelectionMode="SingleDate"> <Calendar.BlackoutDates> <CalendarDateRange Start="8/6/11" End="8/7/11"/> <CalendarDateRange Start="8/20/11" End="8/20/11"/> <CalendarDateRange Start="8/28/11" End="8/30/11"/> </Calendar.BlackoutDates> </Calendar> <Label Content="Choose a day to visit the museum." HorizontalContentAlignment="Center" />
The dates specified as blackout dates are not selectable by a user and will appear x‘d out on the calendar.
You can also add specific blackout dates from code-behind.
// Blackout holidays calMuseum.BlackoutDates.Add(new CalendarDateRange(new DateTime(2011,1,17))); calMuseum.BlackoutDates.Add(new CalendarDateRange(new DateTime(2011,2,21))); calMuseum.BlackoutDates.Add(new CalendarDateRange(new DateTime(2011,5,30))); calMuseum.BlackoutDates.Add(new CalendarDateRange(new DateTime(2011,7,4))); calMuseum.BlackoutDates.Add(new CalendarDateRange(new DateTime(2011,9,5))); calMuseum.BlackoutDates.Add(new CalendarDateRange(new DateTime(2011,10,10))); calMuseum.BlackoutDates.Add(new CalendarDateRange(new DateTime(2011,11,11))); calMuseum.BlackoutDates.Add(new CalendarDateRange(new DateTime(2011,11,24))); calMuseum.BlackoutDates.Add(new CalendarDateRange(new DateTime(2011,12,26)));
Pingback: Dew Drop – August 19, 2011 | Alvin Ashcraft's Morning Dew
Pingback: #1,038 – Another Way to Prevent Certain Dates from Being Selected | 2,000 Things You Should Know About WPF