デブサミ2011のセッションデモ解説 その4

デブサミ2011(Developers Summit 2011)のセッション「【18-D-2】Windowsフォームで大丈夫か?一番良いのを頼む。」のデモ解説その4です。デモ一式はこちらからダウンロードしてください。

  • WPFのレイアウト機能を使った業務アプリ画面
  • パフォーマンス コントロールの描画
  • パフォーマンス データグリッド
  • 日本の業務に適したエディット系コントロール



 この投稿では「日本の業務に適したエディット系コントロール」デモを解説します。


 下記のページは、WindowsフォームとWPF、それぞれのテクノロジで提供されるコントロールを比較したMSDNライブラリのドキュメントです。

Windows フォーム コントロールおよび同等の WPF コントロール | Microsoft Docs



 このドキュメントを見ると、WPFでは「同等のコントロールはありません。」と記述されているコントロールが数多く存在することが分かります(なお、このドキュメントにはWPFにのみ存在するコントロール(例:Expander)は記載されていません)。


 この同等のコントロールが存在しない理由は様々かと思いますが、主に以下の3つになるのではないかと考えます。

  1. そもそもそのコントロールWPFでは必要ない
  2. WPFでは他コントロールの外観変更や組み合わせで対応できる
  3. 単純にまだ実装されていない



 ここで述べておきたいのは、上記の2.についてです。WPFSilverlightも)では、コンテンツモデルやコントロールテンプレートによって、外観を自由に変更することができます。これはWindowsフォームのオーナー描画比べると非常に簡単な方法となっています。

第4回 “見た目”を決めるコントロール・テンプレート (1/3):連載 WPF/Silverlight UIフレームワーク入門 - @IT



 これらの機能を利用すれば、他のコントロールをベースとしてWPFで用意されていないコントロールの外観を再現することが可能です。しかしながら、それはあくまで外観だけの話であり、外観以外の部分、つまりコントロールの機能についてはWindowsフォームでカスタムコントロールを作成するのと何ら変わりがありません。むしろコンテンツモデルやコントロールテンプレートがきちんと機能するコントロールを作成しようとするならば、難易度は高いと言えます。このことは表示系のコントロールよりも編集系のコントロールでより顕著に現れるのではないかと思います。





 Windowsフォームで比較的利用されていたと思われる編集系のコントロールを見てみると、WPFでは数値とマスクのコントロールがありません。また、WPF 4から追加された日付のコントロールも、WindowsフォームのDateTimePickerと比べると機能不足が否めません。






 グレープシティでは、1993年から業務アプリ向けの入力コントロール集であるInputManを提供してきました。2011年4月18日に発売予定のInputMan for WPF 1.0Jでは、WPF標準に不足している数値、マスクのコントロールはもちろんのこと、17年かけて培ってきた日本の業務アプリに適した機能を数多く実装しています。


 トライアル版、オンラインデモ(XBAP)もすでに公開されていますので、是非ご覧ください。

ナレッジベース - サポート&サービス | Developer Tools - グレープシティ株式会社


GrapeCity Developer Solutions | .NET Controls | .NET Reports | JavaScript Controls | Spreadsheets | Document APIs


ナレッジベース - サポート&サービス | Developer Tools - グレープシティ株式会社