[WPF/Silverlight] 選択できない日付を設定する

スポンサーリンク

選択できない日付を設定するには BlackoutDates プロパティを使用します。

また、今日より過去をすべて選択不可能にするには BlackoutDates プロパティのAddDatesInPast メソッドを使用します。

下記は BlackoutDates プロパティを使用して 2010/9/22~9/25 と 2010/9/30を選択できない日に設定する例です。

選択できない日を設定する

XAMLで BlackoutDates を設定する場合は、CalendarDateRange 要素Start 属性と End 属性に選択できない日の開始日と終了日を設定します。

<Calendar>
    <Calendar.BlackoutDates>
        <CalendarDateRange Start="9/22/2010" End="9/25/2010" />
        <CalendarDateRange Start="9/30/2010" End="9/30/2010" />
    </Calendar.BlackoutDates>
</Calendar>

コードから設定する場合には、CalendarDateRange クラスのインスタンスをAdd メソッドで追加します。

VBの例

Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
    '2010/9/22~2010/9/25を選択不可能にする
    Calendar1.BlackoutDates.Add(New CalendarDateRange(New DateTime(2010, 9, 22), New DateTime(2010, 9, 25)))
    '2010/9/30を選択不可能にする
    Calendar1.BlackoutDates.Add(New CalendarDateRange(New DateTime(2010, 9, 30)))

    '今日より過去をすべて選択不可能にする
    Calendar1.BlackoutDates.AddDatesInPast()
End Sub

C#の例

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    // 2010/9/22~2010/9/25を選択不可能にする
    calendar1.BlackoutDates.Add(new CalendarDateRange(new DateTime(2010, 9, 22), new DateTime(2010, 9, 25)));
    // 2010/9/30を選択不可能にする
    calendar1.BlackoutDates.Add(new CalendarDateRange(new DateTime(2010, 9, 30)));

    // 今日より過去をすべて選択不可能にする
    calendar1.BlackoutDates.AddDatesInPast();
}
タイトルとURLをコピーしました