Version

SelectedDates Property

Returns a collection of System.DateTime instances that represents the currently selected dates of the items in the MinCalendarMode.
Syntax
'Declaration
 
Public ReadOnly Property SelectedDates As SelectedDateCollection
public SelectedDateCollection SelectedDates {get;}
Remarks

The SelectedDates is a collection of DateTime instances that represent the CalendarItem instances that should be selected or have been selected by the end user. When the SelectionType is set to a value that allows multiple selection such as Range or Extended, the control will allow selection of one more CalendarItems. A single date for each item will be added to the SelectedDates. The SelectedDate property can be used to access the first item.

Note: When the MinCalendarMode is set to a value other than days, selecting a CalendarItem will only add 1 entry for each selected item. It will not add each date in the item's range into the SelectedDates.

Example
The following sample demonstrates some of the properties and events related to selecting dates within the XamMonthCalendar.

For an overview of how to handle events in Visual Basic or Visual C#, see Event Handlers in Visual Basic and Visual C#. For specific information and code examples illustrating how to consume events in your application, see Consuming Events in the .NET Framework Developer's Guide.

Imports Infragistics.Windows.Editors
Imports Infragistics.Windows.Editors.Events
Imports Infragistics.Windows.Controls


    Private Sub InitializeCalendar(ByVal calendar As XamMonthCalendar)
        ' the selectiontype determines how dates may be selected
        ' Range is a special type of multiple selection that ignores
        ' the control key state and therefore doesn't allow 
        ' discontigous sections via the ui
        calendar.SelectionType = SelectionType.Range

        ' use MaxSelectedDates to restrict the number of dates
        ' that can be selected
        calendar.MaxSelectedDates = 7

        ' you can add individual dates to the SelectedDates but 
        ' when selecting a range, the AddRange method is more
        ' convenient
        '
        'calendar.SelectedDates.Add(new DateTime(2008, 10, 14))
        'calendar.SelectedDates.Add(new DateTime(2008, 10, 15))
        'calendar.SelectedDates.Add(new DateTime(2008, 10, 16))
        calendar.SelectedDates.AddRange(New DateTime(2008, 10, 14), New DateTime(2008, 10, 16), True)

        ' make the last day in the selection active
        calendar.ActiveDate = New DateTime(2008, 10, 16)

        AddHandler calendar.SelectedDatesChanged, AddressOf xamMonthCalendar1_SelectedDatesChanged
    End Sub

    Private Sub xamMonthCalendar1_SelectedDatesChanged(ByVal sender As Object, ByVal e As SelectedDatesChangedEventArgs)
        Dim sb As New Text.StringBuilder()

        sb.Append("Added:")
        For i As Integer = 0 To e.AddedDates.Count - 1

            If (i > 0) Then sb.Append(", ")

            sb.Append(e.AddedDates(i).ToString("d"))
        Next i
        sb.AppendLine()

        sb.Append("Removed:")
        For i As Integer = 0 To e.RemovedDates.Count - 1
            If (i > 0) Then sb.Append(", ")

            sb.Append(e.RemovedDates(i).ToString("d"))
        Next i
        sb.AppendLine()

        System.Diagnostics.Debug.WriteLine(sb.ToString(), "SelectedDatesChanged")
    End Sub
using Infragistics.Windows.Editors;
using Infragistics.Windows.Editors.Events;
using Infragistics.Windows.Controls;

        private void InitializeCalendar(XamMonthCalendar calendar)
        {
            // the selectiontype determines how dates may be selected
            // Range is a special type of multiple selection that ignores
            // the control key state and therefore doesn't allow 
            // discontigous sections via the ui
            calendar.SelectionType = SelectionType.Range;

            // use MaxSelectedDates to restrict the number of dates
            // that can be selected
            calendar.MaxSelectedDates = 7;

            // you can add individual dates to the SelectedDates but 
            // when selecting a range, the AddRange method is more
            // convenient
            //
            //calendar.SelectedDates.Add(new DateTime(2008, 10, 14));
            //calendar.SelectedDates.Add(new DateTime(2008, 10, 15));
            //calendar.SelectedDates.Add(new DateTime(2008, 10, 16));
            calendar.SelectedDates.AddRange(new DateTime(2008, 10, 14), new DateTime(2008, 10, 16), true);

            // make the last day in the selection active
            calendar.ActiveDate = new DateTime(2008, 10, 16);

            calendar.SelectedDatesChanged += xamMonthCalendar1_SelectedDatesChanged;
        }

        void xamMonthCalendar1_SelectedDatesChanged(object sender, SelectedDatesChangedEventArgs e)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("Added:");
            for(int i = 0; i < e.AddedDates.Count; i++)
            {
                if (i > 0)
                    sb.Append(", ");

                sb.Append(e.AddedDates[i].ToString("d"));
            }
            sb.AppendLine();

            sb.Append("Removed:");
            for (int i = 0; i < e.RemovedDates.Count; i++)
            {
                if (i > 0)
                    sb.Append(", ");

                sb.Append(e.RemovedDates[i].ToString("d"));
            }
            sb.AppendLine();

            System.Diagnostics.Debug.WriteLine(sb.ToString(), "SelectedDatesChanged");
        }
<UserControl x:Class="Xaml.UserControl1"
    
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    
xmlns:sys="clr-namespace:System;assembly=mscorlib"
    
xmlns:igEditors="http://infragistics.com/Editors"
    
xmlns:igThemes="http://infragistics.com/Themes">
    
<igEditors:XamMonthCalendar
        
x:Name="xamMonthCalendar1"
        
ActiveDate="10/16/2008"
        
SelectionType="Range"
        
MaxSelectedDates="7"
        
SelectedDatesChanged="xamMonthCalendar1_SelectedDatesChanged"
        
>
        
<igEditors:XamMonthCalendar.SelectedDates>
            
<sys:DateTime>10/14/2008</sys:DateTime>
            
<sys:DateTime>10/15/2008</sys:DateTime>
            
<sys:DateTime>10/16/2008</sys:DateTime>
        
</igEditors:XamMonthCalendar.SelectedDates>
    
</igEditors:XamMonthCalendar>
</UserControl>
Requirements

Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, 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

See Also