インフラジスティックス・ジャパン株式会社のBlog

インフラジスティックス・ジャパン株式会社のチームメンバーが技術トレンド、製品Tips、サポート情報からライセンス、日々の業務から感じることなど、さまざまなトピックについてお伝えするBlogです。

【WPF】新元号と元号(和暦)コントロールの対応について

f:id:furugen098:20190304112416p:plain

こんにちは、デベロッパーサポートの古堅です。

新元号の発表が目前に迫ってきましたね!
弊社のWPF製品にも、元号(和暦)に対応したコントロールがあります。


WPF - 和暦サポート (xamDateTimeEditor)
和暦サポート (xamDateTimeEditor) - Infragistics WPF™ ヘルプ

当記事では、このコントロールを交えて新元号について情報をお届けいたします!

新元号、どう対応すれば良いのか

新元号が発表された際に「弊社製品のサービスリリース」(以降、サービスリリース)を充てないといけないのか?どのような対応が必要なのか?
その疑問にズバリ、回答させて頂きたいと思います!

答えは…

サービスリリースの適用は不要!Windowsアップデートで対応頂けます。

なぜ、サービスリリースは不要でWindowsアップデートのみで対応でしょうか?
その疑問をWindowsOSの元号の管理方法、弊社のコントロールの仕組みを交えながら説明します。

Windowsにおける元号管理と和暦サポートのコントロールの仕組みについて

実は、WindowsOSにおいて、元号の情報はレジストリで管理されています。
blogs.technet.microsoft.com

もし宜しければ、ご一緒にレジストリ内容を確認してみましょう。下記の操作を実施してみてください!

  1. Windows キー + R キーを同時に押下する。
  2. "regedit"と入力し、OKボタンを押下する。
  3. パスに"コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras" を入力し、開く。

f:id:furugen098:20190301164303p:plain

明治、大正、昭和、平成。計4つの元号が設定されていることが確認できますね。
Windowsアップデートでは、新元号が発表されれば、このレジストリに新元号のレコードが追加される形になります。

例えば、こんな風に。
※もしお試し頂く場合、レジストリの編集は自己責任の元行ってください!
f:id:furugen098:20190301173620p:plain

そして、弊社コントロールもレジストリ情報を参照し、元号情報を取得しています。
例えば、弊社の日付コントロールで日付を変更した際には、レジストリに登録されている元号毎の開始年月日から適切な元号が表示される仕組みとなっています。

f:id:furugen098:20190301174115g:plain

まとめ

新元号が発表されてもWindowsアップデートのみで元号(和暦)サポートコントロールは新元号が表示できる仕組みがあることをご紹介しました!
サービスリリースの適応は不要ですが、Windowsアップデートが必要となる点はご注意頂ければと思います。