私はちょうどこれを行ったばかりなので、私の心には新鮮です。
コアは、依存関係プロパティシステム、ルーティングイベントシステム、コマンド、バインディング、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クラス階層