CalendarDateRange Class

 

Represents a range of dates in a Calendar.

Namespace:   System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

System.Object
  System.Windows.Controls.CalendarDateRange

public sealed class CalendarDateRange : INotifyPropertyChanged

NameDescription
System_CAPS_pubmethodCalendarDateRange()

Initializes a new instance of the CalendarDateRange class.

System_CAPS_pubmethodCalendarDateRange(DateTime)

Initializes a new instance of the CalendarDateRange class with a single date.

System_CAPS_pubmethodCalendarDateRange(DateTime, DateTime)

Initializes a new instance of the CalendarDateRange class with a range of dates.

NameDescription
System_CAPS_pubpropertyEnd

Gets the last date in the represented range.

System_CAPS_pubpropertyStart

Gets the first date in the represented range.

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubeventPropertyChanged

Occurs when a property value changes.

CalendarDateRange objects are primarily used by the CalendarBlackoutDatesCollection to specify a range of dates that are not selectable in a Calendar.

The following example creates CalendarDateRange objects to specify which dates in a Calendar 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>

.NET Framework
Available since 4.0
Silverlight
Available since 2.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: