質問: WPFの入門書について. 私は17歳の高専生でプログラミング初心者です. 今まではWindows formアプリで一度アプリケーションを作ってみたという感じだったのですがこれからはWPFを使用しようと思い立ったのですが, 入門書が全然見当たりません. 更にWPFの入門記事を読んでも端々に出てくる用語の意味が理解出来ず全く先に勧めません. そこで今回お聞きしたいのが Q1.WPF入門に最適な入門書はありますか? Q2.WPFを始めるにあたって必要な知識・分野はありますか? です. よろしくお願いします.
回答: 僕もFormをやってからWPFに移行したんですが、同じく手ごろな入門書がなくて苦労しました。 (適当なのを1冊買ったが、チョイスが微妙だったのもあり、結局あまり利用しなかった...。) なので入門書についてはあまりオススメできる情報がなく・・・すみません。 Web上にはそれなりに情報が転がっているので、いくつか入門サイトを見ながら進めて、わからない部分は都度検索して解決する、という方法でも学習していけるとは思います。 WPFには XAML,Command,Binding,Style,DependentPropertyなどなど、Form時代には聞かなかった概念がたくさん登場するので、 「端々に出てくる用語の意味が理解出来ず」とおっしゃる気持ちはすごくよくわかります。 ですが、実はFormとほとんど同じような手順でもそれなりに動くものが作れるようになっています。 たとえば、VisualStudioで 1. WPFプロジェクト新規作成 2. デザイナでツールボックスからButtonをドラッグしてWindowにドロップ 3. 配置されたボタンをダブルクリックするとClickイベントハンドラが生成される 4. ハンドラの中で `MessageBox.Show("Hello, world!");` 5. ビルドして実行 とやれば、Formアプリとほぼ同じ手順でHello,worldが表示できると思います。 なので、いっぺんにやろうとせずに、例えば * 最初はデザイナ上のDrag&Dropとイベントハンドラだけでアプリを作っていく * 慣れてきたらXAMLを直接編集して画面を作ってみる * GridやStackPanel、WrapPanelの使い方を覚えて、画面サイズを変えてもレイアウトの崩れない画面を作る * XAMLのStyleを覚えて、同じような部品のデザインを1か所にまとめる * Bindingを覚えて、イベントハンドラでやっていた部分をBindingに置き換えてみる * StyleのTriggerやTemplateを使えるようになる * MVVMの考え方を勉強して、導入を検討する というような順番で1つずつ覚えていけばいいのではないかと思います。 また、調べ物をする際には、同じXAMLファミリーであるSliverlightやストアアプリの知識も同じように利用できる場合があります。 WPFで調べて情報が出てこなかったときには、Sliverlightやストアアプリで調べてみるという手もあるので 参考程度に覚えておくと良いかもしれません。 ついでにお伝えしておきますと、WPFに限った話でありませんが、 最近のMSDNのページは日本語の翻訳精度が低く、正直まるで使い物になりません。 例えばCheckBox.aspx)を調べると、最初に 「ユーザーを選択してオフにするコントロールを表します。」とか書いてある...。 こういう場合、「その他のバージョン」の部分で以前のバージョンを選ぶと まともな翻訳の文章を見ることができるので、覚えておくと良いかと思います。 (上の文は、Visual Studio 2010のページでは「ユーザーがオンまたはオフにできるコントロールを表します。」となっています)