バージョン

SelectionType プロパティ

選択できる項目の数を決定します。
シンタックス
'宣言
 
Public Property SelectionType As SelectionType
public SelectionType SelectionType {get; set;}
解説

デフォルト選択タイプは Extended です。複数不連続日付の範囲を選択することを許可します。日付が選択される時に SelectedDatesChanged イベントを発生して、SelectedDateSelectedDates のプロパティが更新されます。Extended または Range などの複数選択タイプを使用する時に、ユーザーが選択できる CalendarItem インスタンスの最大数を制御するために MaxSelectedDates を使用できます。

使用例
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>
参照