Я только что прошел через это, так что это свежо в моей голове.
Основными являются: система свойств зависимостей, система маршрутизируемых событий, команды, привязка, INotifyPropertyChanged, стили, шаблоны элементов управления, шаблоны данных, иерархические шаблоны, триггеры, ресурсы, ObservableCollection.
Мудрый образец: MVVM, Единица работы, Хранилище и DI / IOC. MVVM - основной, остальные просто появляются часто. Сейчас вокруг гораздо больше фреймворков, чем когда я начинал в WinForms. Сайт Microsoft Patterns and Practices стоит посмотреть, Prism довольно хорош.
Pro WPF в C # 2010 от Apress - моя любимая книга на эту тему, другие хорошие включают в себя иллюстрированный WPF, выпущенный WPF 4 и Sams научит себя WPF за 24 часа. Последний легко пройти через полдня и достаточно подробно расскажет об этом, чтобы вы могли начать.
Недавно я создал диаграмму, показывающую, как большинство основных объектов WPF вписываются в иерархию. Это довольно интересно, я постараюсь опубликовать это где-нибудь и добавить ссылку здесь позже.
Попробуйте и убедитесь, что в проекте, над которым вы работаете, используется WPF 4. Visual Studio 2010 намного лучше, а WPF 4 содержит множество существенных исправлений, которые делают его более надежным, быстрым и, как правило, лучше.
Изменить: я только что добавил диаграмму иерархии классов, которую я упомянул. Это хорошо для обзора, я думаю. Посмотрите и дайте мне знать, если что-то выглядит не так :)
Иерархия классов WPF