'Declaration Public Property SelectionType As SelectionType
public SelectionType SelectionType {get; set;}
The default selection type is Extended which allows multiple discontiguous ranges of dates to be selected. As dates are selected, the SelectedDatesChanged event is raised and the SelectedDate and SelectedDates properties are updated. When using a multiple selection type such as Extended or Range, you can use the MaxSelectedDates to control the maximum number of CalendarItem instances that the user can select.
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"); }
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