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

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

新規登録して質問してみよう
ただいま回答率
85.48%
C#

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

WPF

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

Q&A

解決済

3回答

14053閲覧

WPFの入門書について

Sekiyu_

総合スコア35

C#

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

WPF

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

1グッド

0クリップ

投稿2017/02/25 05:09

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

usamino👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

僕も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/02/25 08:58

oika

総合スコア425

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Sekiyu_

2017/03/01 03:54

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

0

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/02/25 21:13

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Sekiyu_

2017/03/01 03:58

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

0

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

用語の意味が理解出来ず

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

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

投稿2017/02/25 07:50

hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Sekiyu_

2017/03/01 03:54

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問