概要
3連休で1日1本以上何かアウトプット、報告をしてみよー企画第一弾
C#+WPFの勉強よして
@ITのWPF記事 連載:WPF入門
で学んだ成果物として何か作ってみるのが目的。
主にコントロールの試用、イベントとコマンド関係を使ってみる。
手っ取り早く実行できそうなものとして、日めくり式のカレンダーを作ることにしました。
今の状態
・-,+で日付の変更ができる
・土日になるとメッセージ表示
コード
MainWindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfCallender
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DateTime date = DateTime.Today;
HolidayJudge(date);
Today.Text = date.ToString("yyyy/MM/dd");
BeforeDay.Click += (s, e) =>
{
date = date.AddDays(-1);
Today.Text = date.ToString("yyyy/MM/dd");
HolidayJudge(date);
};
NextDay.Click += (s, e) =>
{
date = date.AddDays(1);
Today.Text = date.ToString("yyyy/MM/dd");
HolidayJudge(date);
};
}
public void HolidayJudge(DateTime today)
{
if (today.DayOfWeek == DayOfWeek.Saturday || today.DayOfWeek == DayOfWeek.Sunday)
{
MessageBox.Show("今日は休みです!! やったね!!!");
}
}
}
}
TextBlockの配置だけなのでxamlは省略
csの方ではまだ土日判定のロジック程度です。
今後の目標
日めくり式だと単調で面白くないので通常のカレンダーにも切り替えられるようにしたいと
考えています。
なので目標としては
・日めくり式にもうちょっと機能拡張をする
・通常カレンダーの切り替え
の2点で行きます。
[日めくり、通常で共通]
・休日を祝う機能(メッセージの表示)
・コントロールなどUI系をおしゃれにしたい
・今日の日付情報がわかる
[日めくり式カレンダーについて]
・祝日の判定ができるようにする
・曜日により背景色を変える
[通常のカレンダー]
・土日祝日に色を付ける
他思いついたらどんどん増やしていく
休み中に拡張して記事を追加していきます!