LoginSignup
6
5

More than 5 years have passed since last update.

C#+WPFで作る日めくり式カレンダー(仮)

Posted at

概要

3連休で1日1本以上何かアウトプット、報告をしてみよー企画第一弾

C#+WPFの勉強よして
@ITのWPF記事 連載:WPF入門
で学んだ成果物として何か作ってみるのが目的。
主にコントロールの試用、イベントとコマンド関係を使ってみる。

手っ取り早く実行できそうなものとして、日めくり式のカレンダーを作ることにしました。

今の状態

20141101.png

・-,+で日付の変更ができる
・土日になるとメッセージ表示

コード

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系をおしゃれにしたい
・今日の日付情報がわかる

[日めくり式カレンダーについて]
・祝日の判定ができるようにする
・曜日により背景色を変える

[通常のカレンダー]
・土日祝日に色を付ける

他思いついたらどんどん増やしていく
休み中に拡張して記事を追加していきます!

6
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5