WinformsからWPFへの移行[終了]


26

私は長年Windows Forms開発者を経験していましたが、新しいWPFプロジェクトが間もなくやってくるので、WPF移行する時が来ました。

Winformsの経験豊富な開発者にとって最善の方法は何ですか?

短時間でWPFを学習するためのヒントや推奨事項を教えてください。

簡単なサンプルWPFソリューションと短い(ビデオ)チュートリアルはありますか?どのをお勧めしますか?www.windowsclient.netは良い出発点ですか?公式のMicrosoftサイトに代わるものはありますか?


ここでの投稿のほとんどはMVVMに言及していますが、XAMLとバインディングの基本を理解してから、派手なフレームワークに入ることをお勧めします。
-NoChance

3
実際に、WinFormsからWPFに切り替えるときに必要な考え方変更に関するブログ記事を書いたところです。非常に基本的であり、知っておく必要のあるすべてが含まれているわけではありませんが、思考プロセスを変更することの概要を十分に説明していると思います。
レイチェル

回答:


21

これは私の推奨事項です。

  • MSDNを使用する
  • 私はこのサイトで始めました:wpftutorial
  • MVVMパターンを学びます。これは良い記事です。

いくつかのMVVMフレームワークがあります。この質問は、いずれかを選択するのに役立ちます。


複数のオプション-素晴らしい答え!
-ozz

11

私はちょうどこれを行ったばかりなので、私の心には新鮮です。

コアは、依存関係プロパティシステム、ルーティングイベントシステム、コマンド、バインディング、INotifyPropertyChanged、スタイル、コントロールテンプレート、データテンプレート、階層テンプレート、トリガー、リソース、ObservableCollectionです。

賢明なパターン:MVVM、作業単位、リポジトリ、DI / IOC。MVVMが主なものであり、その他は頻繁に表示されます。現在、WinFormsで始めたときよりも多くのフレームワークがあります。MicrosoftのPatterns and Practicesサイトは一見の価値がありますが、Prismはかなり優れています。

ApressによるC#2010のPro WPFは、このテーマに関する私のお気に入りの本です。他の優れた本には、Ilustrated WPF、WPF 4のアンリーシュド、Samsが24時間でWPFを教えるなどがあります。最後の1つは午後に簡単に解決でき、上記の内容を十分に詳しく説明してから始めます。

少し前に、ほとんどのコアWPFオブジェクトがどのように階層に適合するかを示す図を作成しました。かなり面白いです。どこかで公開して、後でリンクを追加してみます。

作業しているプロジェクトがWPF 4を使用していることを確認してください。VisualStudio 2010はより優れており、WPF 4には、より信頼性が高く、高速で、一般的に優れた大幅な修正が含まれています。

編集:先ほど述べたクラス階層図を追加しました。それは私が思う概要に適しています。見て、間違っているように見えるものがあれば教えてください:)

WPFクラス階層


1

私はWPF in Actionを使って作業しています。少し古くなっていますが、物事の良い入門書となります。WPF 4 Unleashedでフォローアップして、3.5と4の違いに追いつくつもりです。

Unleashedの本から始めようとしましたが、私の好みには少し遅すぎました。


1

Rod StephensによるWPF Programmer's Referenceが非常に優れていることがわかりました。それはリファレンスマニュアルではありませんが、物事を説明できる人によって書かれています。WPFのキャリア全体に長続きするわけではありませんが、最初の学習曲線を短縮します。


0

すべてのコントロールなどの概要については、ms sdkのサンプルを参照すると便利です。

C:\ Program Files \ Microsoft SDKs \ Windows \ v6.1 \ Samples

WPFSamples.zip内のSamplesGalleryには、wpfコントロール、バインディング、アニメーションなどの多くの概要があります。

役に立つとわかった本の1つは次のとおりです。

http://www.amazon.com/Windows-Presentation-Foundation-Unleashed-WPF/dp/0672328917

winformsを既に知っている場合に必要な多くの詳細があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.