マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Windows Formsの後継のUIテクノロジである。

  • WPF は、Windows Forms の問題点を解決したWindows の画面構築技術である。
  • 優れたアーキテクチャを採用しているが、下記の理由により、実装難易度は高い。

詳細

特徴

  • XAMLというマークアップを使用するのが最大の特徴となっている。
    • XAMLは使いこなせば非常に優れた仕組みであるが、難易度が高い。
  • XAMLは、マークアップ言語ではあるものの、以下のような複雑な処理の実装に使用される。
    • コントロールの表示のカスタマイズ
    • データバインディングを行うBindingマークアップ拡張
  • Visual Studioデザイナとも連動するが、
    XAMLをテキストエディタで直接記述する必要があるケースがある。
  • 各コントロールは、Window Controlではなくウィンドウハンドルを持たない(独自描画)。
  • ClickOnceと、ブラウザの中でWPFを動作させる「XAML ブラウザー アプリケーション (XBAP)」をサポートする。

機能

アーキテクチャ

コントロール

XAML

SI、エンプラ系のドメインでの実績について

状況

このため、2006年に.NET3.0に同梱されてリリースされているが、”個人的感覚では”、
Windows Formsと比べると、SI・業務アプリでの採用実績や開発経験者の少ない状態が続いていると思う。

  • (1)
    先日行った開発者向け調査の結果を見ると、名前は聞いたことあるけど実際には開発したことない、という方がまだ大半かもしれません。
    
    Windows フォームから Windows Presentaion Foundation (WPF) へ
    MSDN オンライン チームブログ - Site Home - MSDN Blogs
    http://blogs.msdn.com/b/devamm/archive/2010/12/27/10109171.aspx
  • (2)
    今回の.NET中心会議では参加登録時にアンケート調査を行っているのですが、その結果(=下の図)を見ると、WPFの利用者は非常に少ないようです。
    
    いま使うべき、学ぶべき.NETテクノロジはどれ? - @IT
    http://www.atmarkit.co.jp/fdotnet/chushin/chushinmeeting_01/chushinmeeting_01_01.html

トレンド

最近(2015年現在)のトレンドとしては、

  • HTML/CSS/JavaScriptやHTML5
  • スマホ ネイティブなど

のUIサブシステムが重視されている。

この理由は、

  • スマホ、タブレット向けにUIを提供できる、クロスプラットフォーム性が重視されている。
  • HTML/CSS/JavaScriptやHTML5で開発するWeb画面がリッチクライアントに近づきつつある。
    (また、jQuery等は体系的な知識が必要になるWPFとは異なり、スニペット的に使用できる)

などが考えられ、

それにより、Windows独自のリッチクライアント技術が下火になったのではないだろうか。

XAMLを使用して開発を行うSilverlightWindowsストアアプリも同様。詳しくはリンク先を参照)。

参考

MSDN

基礎

詳細

Button ControlTemplate? の例CheckBox? ControlTemplate? の例
ComboBox? ControlTemplate? ExampleComboBoxItem? ControlTemplate? の例
ContextMenu? ControlTemplate? の例DocumentViewer? ControlTemplate? の例
Expander ControlTemplate? の例Frame ControlTemplate? の例
GroupBox? ControlTemplate? の例Label ControlTemplate? の例
ListBox? ControlTemplate? の例Listboxitem ControlTemplate? の例
ListView? ControlTemplate? の例ListViewItem? ControlTemplate? の例
Menu ControlTemplate? の例MenuItem? ControlTemplate?の例
NavigationWindow? ControlTemplate? の例ProgressBar? ControlTemplate? の例
RadioButton? ControlTemplate? の例ScrollBar? ControlTemplate? の例
ScrollViewer? ControlTemplate? の例Slider ControlTemplate? の例
StatusBar? ControlTemplate? の例TabControl? ControlTemplate? の例
TabItem? ControlTemplate? の例TextBox? ControlTemplate? の例
ToolBar? ControlTemplate? の例ToolTip? ControlTemplate? の例
TreeView? ControlTemplate? の例TreeViewItem? ControlTemplate? の例
Window ControlTemplate? の例

その他

@IT > Insider.NET


Tags: :.NET開発, :UIサブシステム, :WPF/Silverlight, XAML


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-08-23 (金) 13:42:42 (1700d)