SHOEISHA iD

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

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

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

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

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

(2) Calendarコントロール

7. 任意の日付を選択する

 コードから日付を選択するにはSelectedDateプロパティSelectedDatesプロパティを使用します。

 最初に、SelectedDateプロパティを使用して単一の日付を選択状態にする例(この例では2010/10/12)を下記に示します。

単一の日付を選択する例
単一の日付を選択する例
XAMLの例
<Calendar Height="170" SelectionMode="SingleDate" SelectedDate="10/12/2010" />
VBの例
Private Sub Window_Loaded(ByVal sender As System.Object, 
    ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded

    '1つの日付を選択する例
    Calendar1.SelectionMode = CalendarSelectionMode.SingleDate
    Calendar1.SelectedDate = New DateTime(2010, 10, 12)
End Sub
C#の例
private void Window_Loaded(object sender, RoutedEventArgs e)
{
    // 1つの日付を選択する例
    calendar1.SelectionMode = CalendarSelectionMode.SingleDate;
    calendar1.SelectedDate = new DateTime(2010, 10, 12);
}

 次にSelectedDatesプロパティを使用して複数の日付を選択状態にする例を下記に示します。

単一の日付を選択する例
単一の日付を選択する例

 XAMLでSelectedDatesを使用する場合は<sys:DateTime>要素を使用します(Silverlightでは使用できません)。

 また、<sys:DateTime>要素を使用するにはxmlns:sys="clr-namespace:System;assembly=mscorlib"属性が必要です。

 コードから追加する場合はSelctedDatesプロパティのAddメソッドまたはAddRangeメソッドを使用します。

XAMLの例(WPFアプリケーションのみ)
<Calendar Height="170" HorizontalAlignment="Left" Margin="12,12,0,0" Name="Calendar1" DisplayDate="10/1/2010"
          VerticalAlignment="Top" Width="180" SelectionMode="MultipleRange"
          xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <Calendar.SelectedDates>
        <sys:DateTime>10/10/2010</sys:DateTime>
        <sys:DateTime>10/12/2010</sys:DateTime>
        <sys:DateTime>10/14/2010</sys:DateTime>
        <sys:DateTime>10/16/2010</sys:DateTime>
        <sys:DateTime>10/18/2010</sys:DateTime>
        <sys:DateTime>10/20/2010</sys:DateTime>
        <sys:DateTime>10/22/2010</sys:DateTime>
    </Calendar.SelectedDates>
</Calendar>
VBの例
Private Sub Window_Loaded(ByVal sender As System.Object, 
    ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded

    '複数の日付を選択する例
    Calendar1.SelectionMode = CalendarSelectionMode.MultipleRange
    Calendar1.SelectedDates.Add(New DateTime(2010, 10, 10))
    Calendar1.SelectedDates.Add(New DateTime(2010, 10, 12))
    Calendar1.SelectedDates.Add(New DateTime(2010, 10, 14))
    Calendar1.SelectedDates.Add(New DateTime(2010, 10, 16))
    Calendar1.SelectedDates.Add(New DateTime(2010, 10, 18))
    Calendar1.SelectedDates.Add(New DateTime(2010, 10, 20))
    Calendar1.SelectedDates.Add(New DateTime(2010, 10, 22))
End Sub
C#の例
private void Window_Loaded(object sender, RoutedEventArgs e)
{
    // 複数の日付を選択する例
    calendar1.SelectionMode = CalendarSelectionMode.MultipleRange;
    calendar1.SelectedDates.Add(new DateTime(2010, 10, 10));
    calendar1.SelectedDates.Add(new DateTime(2010, 10, 12));
    calendar1.SelectedDates.Add(new DateTime(2010, 10, 14));
    calendar1.SelectedDates.Add(new DateTime(2010, 10, 16));
    calendar1.SelectedDates.Add(new DateTime(2010, 10, 18));
    calendar1.SelectedDates.Add(new DateTime(2010, 10, 20));
    calendar1.SelectedDates.Add(new DateTime(2010, 10, 22));
}
ポイント

 コードから日付を選択状態にするにはSelectedDateプロパティかSelectedDatesプロパティを使用する。

 

次のページ
8. 使用できる範囲を設定する

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

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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー