SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Silverlight/WPFで使える逆引きTips集

Silverlight/WPFで使える逆引きTips集
――カレンダー機能編

(2) Calendarコントロール

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

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

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

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

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

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

XAMLの例(WPFアプリケーションのみ)
<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();
}
ポイント

 選択できない日を設定するにはBlackoutDatesプロパティを使用する。今日より過去すべてを選択できない日に設定するにはAddDatesInPastメソッドを使用する。

 

次のページ
11. カレンダーのサイズを変更する

この記事は参考になりましたか?

Silverlight/WPFで使える逆引きTips集連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5478 2010/10/08 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー