WPFアプリでライトテーマ・ダークテーマに対応するライブラリー#10 3.2.0

前回の3.1.0のリリースから二ヶ月くらい過ぎました。今回は3.2.0をリリースします。

今回の3.2.0のリリースでは、新機能の追加です。

本家のMetroRadianceと本家をForkした人のアクティビティ

私はMetroRadianceの本家と本家をForkした人のアクティビティをウォッチしています。よいアクティビティは、このMetroRadiance.Forkに取り込んでいます。

このバージョンは、MetroRadianceの本家の修正や、mntoneさんをはじめとするMetroRadianceの本家をForkした人の修正は取り込んでいません。なぜなら、前回からの今回のバージョンの間に、新たな修正のコミットがなかったからです。

そのため、今回も、コミットの取り込みではなく、私のアクティビティとして新しい機能の追加をしました。

ネットワーク グラフ

2021年8月時点で、2020年1月から8月中旬までのMetroRadianceのレポジトリに関するアクティビティは以下の通りです。

MetroRadianceのInsight 2021年8月分まで (Network, 2021/8/15)

ネットワーク グラフを見ると、前回のリリース(2021/6/13)の2021年6月中旬以降に、私以外ののアクティビティ(活動)がないことがわかります。

そのため、今回のリリースでは他の人のコミットを取り込むことはありませんでした。

MetroRadiance.Fork 3.2.0リリース

前回のバージョンから現在までの機能拡張を反映した、MetroRadiance.Fork 3.2.0をnutgetでリリースしました。nugetでは、ここから取得できます。

今回のリリースは、プレリリース版ではなく、正式版です。(バージョンにalphaをつけていません)。

前回同様、MetroRadiance.Forkのドキュメントは以下のリンクとなります。

MetroRadiance.Fork 3.2.0の新機能・変更点

このバージョンでは機能の追加をしました。

大きな変更

  • なし

新機能

  • ListBox/ListViewコントロールのスタイルを追加
  • ListViewコントロール用の添付プロパティ(Attached Property)を追加

バグ修正

  • なし

大きな変更

3.2.0では、既存のアプリの実装に影響があるような大きな変更はありません。

新機能

ListBox/ListViewコントロールのスタイルを追加

MetroRadiance.Forkが用意していたコントロールのスタイルは、一部の標準コントロールのみです。今回、ListBoxとListViewのスタイルを追加しました。MetroRadiance.Forkで用意しているコントールのスタイルは、テーマのモード変更(ライト、ダーク)やアクセントカラーの変更に追随します。

ListBoxに関連するListBoxItemやListViewに関連するGridViewColumnHeaderのコントールのスタイルも追加しました。

ListViewコントロール用の添付プロパティ(Attached Property)を追加

ListViewのViewの定義として使われるGridViewのエレメントは、FrameworkElementから派生しておらず、依存関係オブジェクト(Dependency Object)から直接派生しています。

FrameworkElementでないためスタイルプロパティが利用でず、既定スタイルを変更することができません。

そのため、これらのエレメントを使うときに、既定スタイル以外のスタイルを利用するときは必ずColumnHeaderContainerStyleを設定する必要があります。 このライブラリーでは既定スタイルをテーマに合わせて変更する必要があります。しかし、この制限のためクライアントアプリ側で毎回ColumnHeaderContainerStyleを設定してもらう必要が出てきます。

これではクライアントアプリ側での使い勝手が悪いため、ListViewコントロールでこれらの既定スタイルを設定できるように、添付プロパティを追加しました。これにより、ListViewの既定スタイルでGridViewエレメントのスタイルを設定できるようなります。クライアントアプリ側でColumnHeaderContainerStyleを設定する必要がなくなりました。

MetroRadiance.Fork内で使用するため用意した添付プロパティですが、一般の用途にも利用できる思い、この添付プロパティを外部から利用できるようにしました。

バグ修正

今回のバージョンでは、バグが登録されていないため、バグ修正はありません。

サンプリアプリ(Showcase)

今回の機能の追加に合わせて、実装サンプルを追加しました。今回はListBoxとListViewの例を追加し、テーマ適用例を確認できるようにしました。


以上、MetroRadiance.Fork 3.2.0のリリースの紹介でした。

コメントを残す