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イベントを使用する。
