SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)(AD)

WPF/WinFormsアプリをマイグレーションして、ComponentOneを利用したモダナイゼーションを行う

  • X ポスト
  • このエントリーをはてなブックマークに追加

ComponentOneについて

 ComponentOneはグレープシティが開発する.NET環境のWindows、Web、Mobileアプリ開発に利用できるコントロールセットです。新元号に対応済みであることはもちろんのこと、.NET環境にあるUIを便利にする新機能やコントロールが今なお機能追加されています。

ComponentOne
ComponentOne

ComponentOneの特徴

300種類を超えるコントロール

 標準コントロールで実現できなかった細やかな機能により、直感的な入力や操作感といったユーザーエクスペリエンスの向上に貢献します。

WinForms Control Explorer
WinForms Control Explorer
WPF Control Explorer
WPF Control Explorer

Platform間で共通的なAPI

 ComponentOneは、提供されている各プラットフォーム間で極力共通のAPIとなるようライブラリが構成されています。たとえばWinFormsで利用したComponentOneのChartコントロールを、WPFでも利用したい場合、プラットフォーム独自の制約があることを除けば、同じような手順で再利用できます。

WPFによるChartコントロール(BarChart)
WPF Chart
WPF Chart
WinFormsによるChartコントロール(BarChart)
WinForms Chart
WinForms Chart

最新の開発環境で利用できる

 ComponentOneは常に最新の開発環境におけるアップデートが行われています。利用者はサブスクリプションモデルとして利用することで、常に最新のモジュールを導入できるため、最新の開発環境をいち早く導入することが可能です。

Themes for WinFormsについて

 WPFやUWPなどのXAMLには、ThemeやStyle、ResourceDictionaryの仕組みを用いて統一的なインターフェイスを作成する機能があります。

 これはXAMLで記述された各UI要素が持つプロパティの初期値を適用するものですが、ComponentOneにはWinFormsアプリでも同様に統一されたデザインを適用することができる「Themes for WinForms」という機能があります。

 「Themes for WinForms」はアプリに統一的なデザイン適用を支援するコンポーネント群です。このコンポーネントを使用することで、共通的なデザインの作成・適用が簡単に行えます。

 本稿では、マイグレーションに使用するサンプルのWinFormsアプリに「Themes for WinForms」の主要コンポーネントである「C1ThemeController」を利用したデザインの適用方法を紹介します。

Tiles for WPFについて

 Tiles for WPFは、Windows 8で登場したインターフェイス「タイル」を用いたUIを簡単に作成することができるコントロールです。

 本稿で利用するマイグレーション対象のWPFアプリには、Windows標準のListBoxコントロールを使用した簡単なアプリケーションに対して、Tiles for WPFを使用してモダンな表現を適用したいと思います。

ComponentOneの.NET Core対応について

 ComponentOneの.NET Framework 4.5.2用アセンブリは.NET Framework互換モードにより.NET Coreプロジェクトで参照が行えます。

 .NET Framework互換モードとは.NET Standard 2.0以降に導入されたモードで、.NET Frameworkのライブラリが.NET Standardや.NET Coreのプロジェクトから参照可能となるモードです。

 このモードでアセンブリを参照すると、パッケージが正しく動作しているかどうかをテストする必要があるため、ビルド時にパッケージフォールバック警告NU1701が表示されます。

NU1701
NU1701

 つまり、プロジェクトに設定されているTargetFrameworkと非互換のアセンブリが参照されていることの警告を表示します。

 アプリケーションをテストして問題ないことが確認できた場合、そしてこの警告が気になる場合は、プロジェクトファイル内にあるPackageReferenceを検索し、NoWarn属性を追加することで警告を消すことができます。

<ItemGroup>
  <PackageReference Include="Huitian.PowerCollections" Version="1.0.0" NoWarn="NU1701" />
</ItemGroup>

 NoWarn属性を追加した場合、以降は警告表示が行われないので、.NET Framework互換モードでライブラリ追加を行う場合は、動作に問題がないかきちんとテストするようにしましょう。

次のページ
.NET Frameworkから.NET Coreへ(1)

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

森 博之(AZPower株式会社)(モリ ヒロユキ)

 Microsoft Azure、.NETテクノロジーを使用したWebサービスのプロダクトアーキテクト。他にも技術記事の執筆やトレーニング、セミナースピーカーを行っている。 Microsoft MVPをDeveloper Technologies、Visual Studio and Development Technologies、Windows Development、Client App Dev、.NET、Silverlight、Visual C#などのコン...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11955 2020/03/05 12:18

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング