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