Mówiąc krótko warto zaczac uczyc sie WPFa. MS zrobil bardzo ladny i wygodny wraper programistyczny na directx, dzieki czemu kazdy z programistow moze czerpac z mozliwosci "rysowania" (nie w pelni oczywiscie, na to na co zezwala API) na maszynach z Windows. Oczywiscie to wymaga troche lepszej karty niz 3dfx :) ale bez przesady.
Zaleta WPFa jest to ze jest on niezalezny od naszego ustawienia DPI w komputerze, to znaczy ze na moim DPI bedzie tak samo wygladala aplikacja jak na innym, WPF zadba o to by konwersja odbyla sie plynnie dzieki wlasnemu systemowi - oczywiscie przycisk na innym DPI moze wygladac inaczej ale proporcje zostana zachowane a to jest dosc wazne. W WinForms naprawde sie z tym mozna bylo nameczyc i nie uzyskac odpowiedniego wyniku.
Swojego czasu napisalem krotki post Zapomnijcie o Windows Forms gdzie na prostym przykladzie pokazuje jak mozna zaaoszczedzic czas pisania rozwiazania pomiedzy WinForms a WPF.
Ogolnie ja jestem z WPF bardzo zadowolony, moge zrobic po stronie UI wiecej niz bym potrafil lub chcial zrobic za pomoca WinForms. Dodatkowo w WinForms jest ciezko rozdzielic prace pomiedzy grafikiem a programista, co w WPF i wraz z MVVM jest dosc proste. Takze coraz wiecej materialow na temat WPFa pojawia sie w sieci wiec napewno jest coraz latwiej sie go uczyc.
Ja osobiscie jestem wtrakcie czytania Pro WPF in C# 2008, ktora @Damian polecil, ja jej nie polecam. Zreszta jak tylko przebrne do konca to napewno udostepnie swoja opinie na blogu. Ksiazka jest super jezeli nigdy sie zbytnio nie programowalo, nigdy sie nie czytalo na temat WPFa a tym bardziej na temat MVVM. To czego ja tam szukalem to wiedzy Pro, chcialem sie dowiedziec dokladnie jak cos dziala i dlaczego tak dziala i jak to mozna wykorzystac. Niestety rozdzialy na ktore liczylem daly mi skapa informacje plus tak jakby autor nawet nie zauwazyl ze to cos moze byc inaczej wykorzystane i sila danej funkcjonalnosci nie lezy w tym co on stwierdzil ze opisze bo jest dostepne w API, ale to co mozna z tym zrobic - przyklad Command. Ogolnie jest to przeglad przez technologie WPF dla poczatkujacych (mimo ze ma nazwe Pro), ktorzy raczej nie szukaja potem innych rozwiazan tylko siadaja i pisza zgodnie z ksiazka - przy takim podejsciu WPF nie ma sensu ;)
Dodatkowo tak jak SL, WPF ma wsparcie Blenda dzieki czemu jak chcesz stworzyc fajna aplikacje wizualnie to masz do tego pelne narzedzia, jezeli nie, to piszesz wszystko w XAMLu, ktorego szczerze mowiac polecam sie nauczyc. Jak dla mnie w Visual Studio to jest najlepsza i naszybsza metoda tworzenia UI, w Blend jest duzo prosciej zrobic UI z poziomu projektowania (nie wiem czemu, ale jakies takie mam odczucia).
Co do materialow, ciezko mnie skierowac Cie na jakies poczatkujace, ja zaczynalem nauke od analizy i zrozumienia Prisma, potem zaczalem duzo czytac na temat MVVM i nastepne kroki to bylo ogladanie kodu aplikacji w roznych implementacjach MVVM, co tak naprawde nauczylo mnie jak mozna fajnie pisac aplikacje ale nie jak wykorzystywac w pelni WPF. Tutaj sie raczej poruszalem metoda: potrzebuje cos zrobic, jak moge to zrobic? a jak moge lepiej to zrobic? wiec zanim doszedlem w Pro WPF do rodzialu na temat szablonow itp to wiedzialem odpowiednio duzo by stwierdzic ze ksiazka sie do niczego mi nie przyda :) Ale to wszytko zalezy od tego jak ty sie uczysz, ja lubie patrzec w czyjs kod i rozkminiac co jest grane i dlaczego tak. I takie podejscie stosowalem nie liczac Pro WPF, w WPF.
@Lukasz dal Ci dobre windowsclient.net, ja dodatkowo doloze:
Ja nie liczac google, glownie poprzez te strony znajdowalem ciekawe artykylu. Troche sie rozpisalem wiec koncze :)