Je viens de vivre ça, donc c'est frais dans mon esprit.
Les principaux éléments sont les suivants: système de propriétés de dépendance, système d'événements routés, commandes, liaison, INotifyPropertyChanged, styles, modèles de contrôle, modèles de données, modèles hiérarchiques, déclencheurs, ressources, ObservableCollection
En ce qui concerne les modèles: MVVM, unité de travail, référentiel et DI / IOC. MVVM est le principal, les autres apparaissent simplement fréquemment. Il y a beaucoup plus de frameworks maintenant que lorsque j'ai commencé dans WinForms. Le site Patterns and Practices de Microsoft vaut le détour, Prism est plutôt bon.
Pro WPF en C # 2010 par Apress est mon livre préféré sur le sujet, d'autres bons exemples incluent Illustrated WPF, WPF 4 déchaîné et Sams vous apprend le WPF en 24 heures. Le dernier est facile à passer en un après-midi et couvrira ce qui précède avec suffisamment de détails pour vous aider à démarrer.
J'ai créé un diagramme il y a quelque temps montrant comment la plupart des principaux objets WPF s'intègrent dans une hiérarchie. C'est assez intéressant, je vais essayer de le publier quelque part et ajouter un lien ici plus tard.
Essayez de vous assurer que le projet sur lequel vous travaillez utilise WPF 4. Visual Studio 2010 est beaucoup plus agréable et WPF 4 inclut de nombreuses corrections substantielles qui le rendent plus fiable, plus rapide et généralement meilleur.
Edit: je viens d'ajouter le diagramme de hiérarchie des classes que j'ai mentionné. C'est bon pour un aperçu je pense. Jetez un coup d'œil et faites-moi savoir s'il y a quelque chose qui ne va pas :)
Hiérarchie des classes WPF