web-dev-qa-db-ja.com

WPFとMVVMの学習-ゼロから学習するための最良のアプローチ

私は約3年のc#の経験があります。 WPFとMVVMパターンについて学びたいのですが。このサイトには記事へのリンクがたくさんありますが、少し圧倒されています。初心者がしばらくの間mvvmを忘れて、すぐに少しだけWPFを学習してから、MVVMに戻ってくる賢明なアプローチでしょうか?

今日の作業で Application = Code + Markup-Charles Petzold にリーフがありましたが、MVVMについては言及されていないようです(少なくともインデックスには含まれていません)。 MVVMはWPFの「リングアフランカ」であるはずだと思っていたので、これにはかなり驚きましたか。

また、私は新しい会社で働き始めたばかりで、WinFormsでMVVMを使用していますが、誰かがこれに遭遇したことはありますか?

WPFとMVVMの両方を教えてくれる本をお勧めする人はいますか?

26
bplus

経験次第です。

これはMVVMディスカッションに欠けている領域だと個人的に感じていたため、Windowsフォーム開発者の観点から MVVMとWPFについてのシリーズを書きました。

MVVMを学ばずにWPFを学ぼうとはしませんでした。アーキテクチャ全体に広がるプレゼンテーションとロジックの分離を理解するまで、WPFは完全に意味をなさないため、多くの側面を "学習"しようとすることになります。 MVVMは、実際にはこの同じ分離をアプリケーション空間に拡張しているだけです。

「WindowsフォームのMVVM」については、多くの人がこれを試みますが、実際にはMVVMではありません。 「MVVM」を実行するには、Windowsフォームが提供するよりも豊富な形式のデータバインディングにアクセスする必要があります。 「WindowsフォームのMVVM」は実際には、通常、別の名前のModel-View-Presenter(MVVMバンドワゴンに乗っていると思います)ですが、WPFのMVVMとは実際には同じではありません。

27
Reed Copsey

Jason Dolinger には、このテーマに関する優れたビデオがあります。コードビハインドファイルの使用から、依存性注入およびテストを含む完全なMVVMパターンに移行するプロセスを順を追って説明します。

Bill Steele WPFで16部構成の「スープからナッツ」へのウェブキャストシリーズを行いました。 mseventsサイトのリンクが壊れています。これを見つけるには Google search を使用します。これは、WPFの学習曲線に役立ちます。また、彼の例ではMV *パターンを使用していません。

編集: MSEvents リンクは現在機能しています。 Google search をバックアップとして残しています。

Josh Smith には、MSDNの優れた記事 Model-View-ViewModelデザインパターンを使用したWPFアプリ もあります。

牧畜コード:Jeremy Miller、Ward Bell、Rob Eisenberg、Glenn Blockによるプレゼンテーションパターン

MIX10:

そしてもちろん、Reed Copseyの MVVMの記事 も読む価値があります。

13
VoidDweller

私のMIX10セッションは初心者にとって十分にMVVMパターンを説明していると何度か言われました(一部のパーツは実際にはかなり進んでいるので、特定のパーツを再監視する必要があるかどうか心配しないでください)。

セッションは http://live.visitmix.com/MIX10/Sessions/EX14 にあります

自己宣伝申し訳ありません。

乾杯、ローラン

6
LBugnion

MVVMを扱った本はあまりありませんが、1冊しかありません: Advanced MVVM

しかし、オンラインリソースはたくさんあり、これは必読です: Model-View-ViewModelデザインパターンを使用したWPFアプリ

その後、次のようなフレームワークを検討することをお勧めします

4
Catalin DICU

これはMVVMのチュートリアルです http://www.codeproject.com/Articles/819294/Learn-WPF-MVVM-step-by-step-Basics-to-Advance-Leve 基本から5段階でアドバンスレベルに。つまり、3層から完全なMVVMに移行するようなものです。

enter image description here

1

大きなこと(WPF + MVVMの学習など)を行うには、小さなステップでタスクを中断することをお勧めします。

この状況での最良のアプローチは、WpfのUIの部分を学ぶことから始めることだと思います。 XAML構文、レイアウトシステム、使用可能なコントロールを学び、バインディングを忘れて、データをコントロールに配信する方法を忘れてください。

WpfのUIの基本を理解したら、MVVMに移りましょう。バインディングの仕組みとMVVMパターンについて学びます。

このWebには、実践に焦点を当てたチュートリアルがあり、理論は利用可能です。

http://www.learnmvvm.com

私はこの本を読んだだけです。これはWPFの学習に関するものではありませんが、WPFについて少し知っていて、MVVMの理解を深めたい場合に役立ちます。

http://www.Amazon.co.uk/Pro-WPF-Silverlight-MVVM-Model-View-ViewModel/dp/1430231629

0
Ashley Davis

このサイトを試してください。さまざまなリソースを1か所に集めます。 http://learnandmasterwpf.blogspot.com/

0
WPFNovice