12. 背景に画像を設定する
カレンダーの背景に画像を設定するにはBackgroundプロパティにImageBrushクラスのインスタンスを設定します。
ImageBrushクラスのImageSourceプロパティに、背景にする画像が存在するパスを設定します。背景の画像の不透明度はOpacityプロパティで設定することができます。
下記は、カレンダーの背景に画像を設定する例です。
<Calendar> <Calendar.Background> <ImageBrush ImageSource="Tulips.jpg" Opacity="0.3" /> </Calendar.Background> </Calendar>
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
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年に変更された」など、表示されている内容に変更があった場合にイベントが発生します。
下記は、カレンダーが変更された場合にメッセージを表示する例です。
Private Sub Calendar1_DisplayDateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.CalendarDateChangedEventArgs) Handles Calendar1.DisplayDateChanged MessageBox.Show("カレンダーが変更されました") End Sub
private void Calendar1_DisplayDateChanged(object sender, CalendarDateChangedEventArgs e) { MessageBox.Show("カレンダーが変更されました"); }
カレンダーが変更されたことを知るにはDisplayDateChangedイベントを使用する。