ComponentOne Information

ComponentOne Studio/Wijmo/Xuniの最新情報を公開中

Windows Forms → WPF の障壁を取り除く「ClearStyle技術」とは?

Windows Forms開発者がWPFに移行する際に嵌りやすい点の1つとして、MVVMパターンにおけるView、つまりUI部分の構築方法がWindows Formsと大きく異なることが挙げられます。

もともと、WPFではUIとビジネスロジックを分離し、画面周りはデザイン担当者に任せ、プログラマーはビジネスロジックの実装に専念できる…というのがメリットとして考えられていましたが、専門のデザイナーを割り当てるほど余裕があることは少なく、結局のところ、プログラマーがUI設計も担当することが多いのではないでしょうか。

そしてそのUIが、従来のWindows FormsともHTML+CSSとも違い、XAMLで記述するということがさらなる負担としてプログラマーを苦しめます。
XAMLによるレイアウトシステムは非常に柔軟かつ強力で自由度が高い分、要素ひとつひとつの細かい制御をすべてXAML上で定義しなければならず、単にドロップダウンボタンの背景色を変更したい場合でも十数行にわたってXAMLコードを記述しなければならないなど、意外と制御が面倒です。

さて、前置きが長くなりましたが、そのようなUIデザインの煩わしさを解消する1つの解決策として、ComponentOne Studio for WPFでは「ClearStyle」と称する独自の技術を導入しています。

≫≫ ClearStyle技術とは?

これは、コントロールのスタイルの各要素を単純な配色プロパティとして表し、これを集めてコントロール固有のスタイルプロパティセットを形成するものです。
プロパティを介して任意のブラシを設定することで、指定された要素の色を簡単に変更できます。単色による塗りつぶしのほか、グラデーションやハッチパターンなどのブラシも使用できます。また、各要素の階層構造が考慮されており、親要素の背景色を設定すれば、各子要素の背景色もそれに合わせて変更されます。特定の子要素のみ別の配色にすることも容易です。

■ コード例

f:id:ComponentOne_JP:20161117113048p:plain

<c1:C1DataGrid 
HeaderBackground="DarkRed"
HeaderForeground="White" AlternatingRowBackground="LightGreen"
SelectedBackground="Orange" GroupingPanelBackground="DarkBlue"
GroupingPanelForeground="White" BorderBrush="Black"
VerticalGridLinesBrush="Black"
MouseOverBrush="GoldenRod">

単純なプロパティで表されるため、Visual Studio IDEのプロパティウィンドウなどから直接指定することができます。あまりにも直感的で自然な感じで利用できるので、既にWPF製品をご利用の方にとっては、さも当たり前のように気づかずに使用していらっしゃる方も多いかと思いますが、それこそがClearStyle導入の大きなメリットなのです。

もちろん、標準的なスタイルおよびテンプレートを使用して、より詳細な制御を行うこともできるので、完全なカスタム設計が必要な場面において、ClearStyle技術が影響することはありません。
技術習得度や作業効率を考慮して、いずれかの手段を(あるいは併用して)ご利用いただくことができます。

Windows Forms開発者にとって、従来に近い形でコントロールの各要素のカスタマイズができることは、WPFに移行する際の不安要素、とくにUI設計の自由度の高さから来る難易度の高さを心配しなくてすむという大きなプラス要因になるのではないでしょうか。

もちろん、ComponentOne Studio for WPFの特長はClearStyle技術だけではありません。他にも、テーマのサポートによるコントロール外観の統一、UIオートメーション対応によるテスト自動化、UI仮想化技術によるパフォーマンス向上など、WPFプロジェクト開発を支援する魅力的な機能が満載です。

既にWPFで開発している、あるいは将来的にWPFへの移行が必要とお考えであれば、まずはトライアル版にてその導入メリットを体感してみてはいかがでしょうか。

≫≫ ComponentOne Studio for WPF トライアル版のダウンロードはこちら

ClearStyleほか、ComponentOne Studio for WPFの特長的な機能の詳細については製品説明資料をご参考ください。

≫≫ 「ComponentOne Studio for WPFとは?」が分かる!製品資料はこちら(PDF)

 

この記事はグレープシティが発行するメールマガジン「PowerNews」の第458号(2016/11/10発行)に掲載された記事を、加筆修正して転載したものです。  
≫グレープシティの最新情報を発信!メールマガジン「PowerNews」
製品の最新情報、プログラミングに役立つコラムのほか、プレゼント企画やセミナーのご案内など、日々の開発業務に役立つ情報を、毎月2回・第2、4木曜日にお送りしています。 
PowerNews - メールマガジン | GrapeCity Developer Tools 

ComponentOne