SHOEISHA iD

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

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

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

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

(2) Calendarコントロール

  • X ポスト
  • このエントリーをはてなブックマークに追加

12. 背景に画像を設定する

 カレンダーの背景に画像を設定するにはBackgroundプロパティImageBrushクラスのインスタンスを設定します。

 ImageBrushクラスのImageSourceプロパティに、背景にする画像が存在するパスを設定します。背景の画像の不透明度はOpacityプロパティで設定することができます。

 下記は、カレンダーの背景に画像を設定する例です。

カレンダーの背景に画像を設定する例
カレンダーの背景に画像を設定する例
XAMLの例
<Calendar>
    <Calendar.Background>
        <ImageBrush ImageSource="Tulips.jpg" Opacity="0.3" />
    </Calendar.Background>
</Calendar>
VBの例
Private Sub Window_Loaded(ByVal sender As System.Object, 
    ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded

    'イメージブラシの作成(背景画像のパスと透明度を設定)
    Dim imageBrush As New ImageBrush()
    imageBrush.ImageSource = New System.Windows.Media.Imaging.BitmapImage(New Uri("Tulips.jpg", UriKind.Relative))
    imageBrush.Opacity = 0.3

    'ブラシを背景に設定する
    Calendar1.Background = imageBrush
End Sub
C#の例
private void Window_Loaded(object sender, RoutedEventArgs e)
{
    // イメージブラシの作成(背景画像のパスと透明度を設定)
    ImageBrush imageBrush = new ImageBrush();
    imageBrush.ImageSource = new System.Windows.Media.Imaging.BitmapImage(new Uri("Tulips.jpg", UriKind.Relative));
    imageBrush.Opacity = 0.3;

    // ブラシを背景に設定する
    calendar1.Background = imageBrush;
}
ポイント

 背景に画像を設定するにはBackgroundプロパティにImageBrushクラスのインスタンスを設定する。

 

13. カレンダーが変更されたことを知る

 カレンダーが変更されたことを知るにはDisplayDateChangedイベントを使用します。

 例えば、「カレンダーが9月から10月に変更された」「2010年から2011年に変更された」など、表示されている内容に変更があった場合にイベントが発生します。

 下記は、カレンダーが変更された場合にメッセージを表示する例です。

カレンダーが変更されたことを知る例
カレンダーが変更されたことを知る例
VBの例
Private Sub Calendar1_DisplayDateChanged(ByVal sender As System.Object, 
    ByVal e As System.Windows.Controls.CalendarDateChangedEventArgs) Handles Calendar1.DisplayDateChanged

    MessageBox.Show("カレンダーが変更されました")
End Sub
C#の例
private void Calendar1_DisplayDateChanged(object sender, CalendarDateChangedEventArgs e)
{
    MessageBox.Show("カレンダーが変更されました");
}
ポイント

 カレンダーが変更されたことを知るにはDisplayDateChangedイベントを使用する。

 

次のページ
14. 表示種類(月、年、10年)が変更されたことを知る

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
Silverlight/WPFで使える逆引きTips集連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5478 2010/10/08 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング