2022年6月7日

【WPF】 MaterialDesign DatePickerのカレンダーを日本語にする

MaterialDesignThemesを適用した後、リッチなUIを簡単に配置できるようになり、重宝しています。

しかし、日付入力用のDatePickerのカレンダーがなぜか英語表示されています。

個人的には好きですがクライアントによっては日本語で表示してほしいという要望もあります。

なぜ英語になっているのか原因まではわかりませんが、カレンダーを日本語にする方法をメモします。

英語表記カレンダー
変更前(カレンダーが英語表記になっています)

日本語表記に変更

		/// <summary>
		/// ロード
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void Window_Loaded(object sender, RoutedEventArgs e)
		{
			System.Globalization.CultureInfo JpCulture = new System.Globalization.CultureInfo("ja-JP");
			Picker.Language = System.Windows.Markup.XmlLanguage.GetLanguage(JpCulture.Name);
		}

今回はLoadedイベントに上記のコードを追加しました。

日本語表記カレンダー
変更後(カレンダーが日本語表記になりました)

カレンダーが日本語表記になりました。

紹介した方法だと各コントロール毎に上記のコードを記載する必要があります。
汎用性を持たせるために、カスタムコントロールにするなどして今後対応したいと思います。
※もっと根本的な原因が分かると別の対応の仕方があるのかもしれません。

上記サンプルのフォームは角丸の透過ウインドウにしています。その方法についてはこちらをご覧ください。

Share this content: