Я щойно переживав це, так що це свіже в моїх думках.
Основними є: система властивостей залежності, система маршрутизованих подій, команди, прив'язка, INotifyPropertyChanged, стилі, шаблони управління, шаблони даних, ієрархічні шаблони, тригери, ресурси, ObservableCollection
Візерунок: MVVM, блок роботи, сховище та DI / IOC. MVVM є основним, інші просто з’являються часто. Зараз є набагато більше фреймворків, ніж коли я почав працювати в WinForms. Сайт «Шаблони та практики Microsoft» варто переглянути, призма досить гарна.
Pro WPF в C # 2010 від Apress - це моя улюблена книга на цю тему, серед інших хороших - Ілюстрований WPF, WPF 4 unleashed та Sams навчають себе WPF за 24 години. Останній легко пройти в другій половині дня і висвітлить вищезазначене досить детально, щоб розпочати роботу.
Нещодавно я створив діаграму, яка показує, як більшість основних об'єктів WPF вписуються в ієрархію. Це досить цікаво, я спробую і десь опублікую його та додаю посилання тут пізніше.
Спробуйте переконатися, що проект, над яким ви працюєте, використовує WPF 4. Visual Studio 2010 набагато приємніше, а WPF 4 включає в себе безліч суттєвих виправлень, які роблять його надійнішим, швидшим та загалом кращим.
Редагувати: Я щойно додав згадувану діаграму ієрархії класів. Це добре для огляду, я думаю. Погляньте і повідомте мені, чи є щось, що виглядає неправильно :)
Ієрархія класів WPF