【WPF】自作カレンダー その2(動的生成)

C#, 開発

おはようございます。

自作カレンダーその2です。
今回は、Xamlではなくコードからカレンダーを生成します。

最終的に年間カレンダー的なものにしようと思うので、
Xamlで定義すると Grid だらけになってしまうし、色々やろうと思ったらやっぱり動的に生成した方がやりやすいような気がするので。

前回のプログラムはこちら。

スタイル定義の変更

まずはスタイルの外出しをします。

StyleDic.xaml

 

ポイントは、日付セルの上をマウスオーバーした際と、クリックして選択した際に背景色を変更するところですかね。

スポンサーリンク

画面の変更

画面に年月を選択するコンボボックスと、選択された日付を表示するラベルを追加しました。
後は カレンダー用の Grid がなくなってすっきりしました。

MainWIndow.xaml

プログラム修正

新規クラス追加

新規で、年月コンボボックス用と、日付セル用のクラスを追加します。

MonthInfo.cs

DateInfo.cs

コードビハインドの修正

年月コンボボックスの項目設定と、カレンダーの生成メソッドを追加したりしました。

MainWindow.xaml.cs

 

起動してみる

起動後画面
起動後画面

 

 

 

 

 

 

 

 

 

起動後は当月を表示するようにしました。

日付選択時
日付選択時

 

 

 

 

 

 

 

 

 

日付を選択すると、選択箇所の背景色が変わり、選択された日付が右上に表示されます。

まとめ

なんとなく使えそうな気がしてきました。
バインディングなんかがうまく利用できていませんが、それは追々ということで。

次回は、年間カレンダーにしようかと思います。

ではでは。

 

スポンサーリンク


関連するコンテンツ

C#, 開発C#, Calendar, WPF, プログラミング

Posted by doradora