Na marginesie by dobrze zrozumieć o co chodzi z WPF i jaka jest różnica pomiędzy WinForms polecam zaznajomić się najpierw z wzorcem MVVM. Nie bez powodu Microsoft zrobił nowy twór o nazwie WPF po to by właśnie ten wzorzec można było stosować i testowanie aplikacji było wykonalne. To znaczy oddzielono kod biznesowy, logikę od tej wizualnej warstwy.