質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • C#

    8795questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • WPF

    815questions

    Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

WPFの入門書について

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 5,788

Sekiyu_

score 27

WPFの入門書について. 私は17歳の高専生でプログラミング初心者です. 今まではWindows formアプリで一度アプリケーションを作ってみたという感じだったのですがこれからはWPFを使用しようと思い立ったのですが, 入門書が全然見当たりません. 更にWPFの入門記事を読んでも端々に出てくる用語の意味が理解出来ず全く先に勧めません. そこで今回お聞きしたいのが
Q1.WPF入門に最適な入門書はありますか?
Q2.WPFを始めるにあたって必要な知識・分野はありますか?
です. よろしくお願いします.

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+6

僕も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を調べると、最初に
「ユーザーを選択してオフにするコントロールを表します。」とか書いてある…。
こういう場合、「その他のバージョン」の部分で以前のバージョンを選ぶと
まともな翻訳の文章を見ることができるので、覚えておくと良いかと思います。
(上の文は、Visual Studio 2010のページでは「ユーザーがオンまたはオフにできるコントロールを表します。」となっています)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/01 12:54

    WPFのことから学習方法まで細々とありがとうございます!

    キャンセル

+2

A1
良く聞く質問ですが、何が最適かは人それぞれです。
ですから万人に最適な入門書はありません。
WPFは入門書自体が少ないですし、書籍で入門するより既にされているようにWebページで入門することをお勧めします。

>用語の意味が理解出来ず
解らない部分が解るだけでも一歩進んでいます。
こんどは、その解らない部分を調べて理解しましょう。
みんなそうやって一つずつ覚えているのです。

A2
C#(又はVB)やXMLは必須ですが、最も重要なのが解らないことを調べてそこへ辿り着く技術です。
これを身に着けるには、とにかくたくさん検索することが近道です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/01 12:54

    基本的な, プログラミングを学ぶ姿勢はたくさん検索することが大事なのですねありがとうございました

    キャンセル

+2

Q1.WPF入門に最適な入門書はありますか? 

書籍は無いといっていいレベルですね
もちろんあるんですがお薦めできるものがない
賛否両論ありましょうが、MS系のテクノロジーが斜陽化しはじめた時にリリースされたテクノロジーなので...

・ Silverlight→RIAとしてはよくできていたと思うんですが
・ WindowsPhone→バッサリ切られてしまいましたよね
・ WindowsStoreApp(Win8)→Windows8自体がどっか行った?
・ UWP(Win10)→将来性どうでしょう??

WPF(XAMLでUIを書く)をキーテクノロジーに採用していたものはどれも悲惨なことになっています
ただどうしても書籍がってことなら、このあたりの入門書、解説書をあさってみるのも良いかもしれません(それでも著者にMSの人が絡んでいない書籍は駄本ばかりですが..)
当然情報は古いです

結局WPF4.5入門あたりを読み込んで、理解できないところをググるのが一番近道かも

Q2.WPFを始めるにあたって必要な知識・分野はありますか?

C#が不自由なく読み書きできればとりあえず困ることはないのでは
あとは「実現したいこと」を「適切な検索ワード」に変換できる能力ですかね

ちょっとネガティブ成分多めですが、GridレイアウトシステムとDataBindingが強力すぎてWindowsFormsはもうやりたくないので、個人的には.Net系のアプリはWPFばかりです
MSが当時相当コストを突っ込んで基礎研究、開発したテクノロジーなので、すごくよくできていると思うので頑張ってみてください

かなりWebはやりこんでるよって人なら、先にKnockout.jsとかを追っかけてみるとわかりやすいかも

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/01 12:58

    WPFの現状はそんなことになっているのですか...これから使っていくか否か, 使ってみて判断してみようと思いますありがとうございました!

    キャンセル

同じタグがついた質問を見る

  • C#

    8795questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • WPF

    815questions

    Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです