Do grona rzeczy, które wyróżniają aplikację, już na pierwszy rzut oka, najczęściej z pewnością możemy zaliczyć jej GUI, czyli innymi słowy wartstwę prezentacji. W .Necie, praktycznie od zawsze, GUI tworzyło się za pomocą dość wygodnych Windows Forms, które za pomocą metody Drag and Drop (Przeciągnij i upuść) pozwalały na szybkie tworzenie wizualnego obszaru naszej aplikacji, często bez napisania nawet jednej linijki kodu. Istotą takiego podejścia, było użycie absolutnego pozycjonowania elementów, względem całej formatki. Tymczasem w innych językach programowania, np. w Javie od zawsze istniały różnego rodzaju menadżery układów, które pozwalały np. na grupowanie elementów pionowo, poziomo, czy np. w układach tabelarycznych.
Tytułowy WPF (Framework, który został wprowadzony w .Net 3.0) to właśnie taki trochę ukłon, w stronę podejścia zaserwowanego w Javie. Znika całkowicie pozycjonowanie absolutne, a na znaczeniu zyskują wszelakie menadżery układów oraz właściwości typu Padding i Margin. Znika również plik, w którym Visual Studio generowało wszystkie właściwości układu wizualnego, czyli znany designer. Co dostajemy w zamian? Nowe podejście, które wykorzystuje do projektowania GUI język XAML (Microsoftowa pochodna XML), bardziej przypomina tworzenie stron internetowych, niż aplikacji okienkowych znanych z Windows Forms. Tak więc zacznijmy od początku;)