SelectedDatesCollection Class
Represents a set of selected dates in a Calendar.
System.Collections.ObjectModel.Collection<DateTime>
System.Collections.ObjectModel.ObservableCollection<DateTime>
System.Windows.Controls.SelectedDatesCollection
Namespace: System.Windows.Controls
Assembly: PresentationFramework (in PresentationFramework.dll)
The SelectedDatesCollection type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | SelectedDatesCollection | Initializes a new instance of the SelectedDatesCollection class. |
| Name | Description | |
|---|---|---|
![]() | Count | Gets the number of elements actually contained in the Collection<T>. (Inherited from Collection<T>.) |
![]() | Item | Gets or sets the element at the specified index. (Inherited from Collection<T>.) |
| Name | Description | |
|---|---|---|
![]() | Add | Adds an object to the end of the Collection<T>. (Inherited from Collection<T>.) |
![]() | AddRange | Adds all the dates in the specified range, which includes the first and last dates, to the collection. |
![]() | Clear | Removes all elements from the Collection<T>. (Inherited from Collection<T>.) |
![]() | Contains | Determines whether an element is in the Collection<T>. (Inherited from Collection<T>.) |
![]() | CopyTo | Copies the entire Collection<T> to a compatible one-dimensional Array, starting at the specified index of the target array. (Inherited from Collection<T>.) |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | GetEnumerator | Returns an enumerator that iterates through the Collection<T>. (Inherited from Collection<T>.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | IndexOf | Searches for the specified object and returns the zero-based index of the first occurrence within the entire Collection<T>. (Inherited from Collection<T>.) |
![]() | Insert | Inserts an element into the Collection<T> at the specified index. (Inherited from Collection<T>.) |
![]() | Move | Moves the item at the specified index to a new location in the collection. (Inherited from ObservableCollection<T>.) |
![]() | Remove | Removes the first occurrence of a specific object from the Collection<T>. (Inherited from Collection<T>.) |
![]() | RemoveAt | Removes the element at the specified index of the Collection<T>. (Inherited from Collection<T>.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() | CollectionChanged | Occurs when an item is added, removed, changed, moved, or the entire list is refreshed. (Inherited from ObservableCollection<T>.) |
| Name | Description | |
|---|---|---|
![]() ![]() | ICollection.CopyTo | Copies the elements of the ICollection to an Array, starting at a particular Array index. (Inherited from Collection<T>.) |
![]() ![]() | ICollection<T>.IsReadOnly | Gets a value indicating whether the ICollection<T> is read-only. (Inherited from Collection<T>.) |
![]() ![]() | ICollection.IsSynchronized | Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from Collection<T>.) |
![]() ![]() | ICollection.SyncRoot | Gets an object that can be used to synchronize access to the ICollection. (Inherited from Collection<T>.) |
![]() ![]() | IEnumerable.GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Collection<T>.) |
![]() ![]() | IList.Add | Adds an item to the IList. (Inherited from Collection<T>.) |
![]() ![]() | IList.Contains | Determines whether the IList contains a specific value. (Inherited from Collection<T>.) |
![]() ![]() | IList.IndexOf | Determines the index of a specific item in the IList. (Inherited from Collection<T>.) |
![]() ![]() | IList.Insert | Inserts an item into the IList at the specified index. (Inherited from Collection<T>.) |
![]() ![]() | IList.IsFixedSize | Gets a value indicating whether the IList has a fixed size. (Inherited from Collection<T>.) |
![]() ![]() | IList.IsReadOnly | Gets a value indicating whether the IList is read-only. (Inherited from Collection<T>.) |
![]() ![]() | IList.Item | Gets or sets the element at the specified index. (Inherited from Collection<T>.) |
![]() ![]() | IList.Remove | Removes the first occurrence of a specific object from the IList. (Inherited from Collection<T>.) |
![]() ![]() | INotifyPropertyChanged.PropertyChanged | Occurs when a property value changes. (Inherited from ObservableCollection<T>.) |
Dates can be added to the SelectedDates property of a Calendar. Depending on the value of the Calendar.SelectionMode property, adding a date or a range to the SelectedDatesCollection may cause it to be cleared. The following table lists how CalendarSelectionMode affects the SelectedDates property.
CalendarSelectionMode | Effect on SelectedDates |
|---|---|
No selections are allowed. SelectedDate cannot be set and no values can be added to SelectedDates. | |
Only a single date can be selected, either by setting SelectedDate or the first value in SelectedDates. AddRange cannot be used. | |
A single range of dates can be selected. Setting SelectedDate, adding a date individually to SelectedDates, or using AddRange will clear all previous values from SelectedDates. | |
Multiple non-contiguous ranges of dates can be selected. Adding a date individually to SelectedDates or using AddRange will not clear SelectedDates. Setting SelectedDate will still clear SelectedDates, but additional dates or ranges can then be added. Adding a range that includes some dates that are already selected or overlaps with another range results in the union of the ranges and does not cause an exception. |
The following example creates a Calendar that has multiple ranges of dates 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>
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.






