WPF

A Windows Presentation Foundation (WPF) a Windows Form utódjának tekinthető asztali alkalmazások fejlesztése terén. Az egyik legnagyobb és egyben legfontosabb különbség, hogy az alkalmazás megjelenéséért felelős kód elkülönül az alkalamzás funkcionalitását leíró kódtól. A WPF GDI/GDI+ helyett DirectX-et használ. Emiatt tetszőleges típusú felhasználói felületet hozhatunk létre. Tervezhető akár komplex háromdimenziós grafika is, de üzleti alkalmazások esetében is kiaknázhatóak a gazdag grafikai hatások. A DirectX már nem a CPU, hanem a GPU erőforrásait használja. Raszter grafika helyett már vektor alapúak az elemek. Emiatt az egyes elemek tetszőlegesen átméretezhetőek. Továbbá kevesebb helyet foglalnak. Viszont továbbra is használja a raszter grafikát.

Előnyei:
	Dokumentum és nyomtatás
	Biztonság, hozzáférhetőség és lokalizáció
	Együttműködést kínál a következővel: Windows Űrlapvezérlők
	A Direct3D-t grafikus alkalmazásokban használják, ahol a teljesítmény fontos
	A megjelenítéshez a videókártyát használja
	A vektor-alapú grafika lehetővé teszi az alkalmazás méretezését minőségromlás nélkül
	A WBF támogatja a lebegőpontos logikai pixelrendszert és a 32 bites ARGB színt
	Stílusok és vezérlősablonok újradefiniálása
	Nemzetközi betűtípusok építése összetett betűtípusokból
	A WPF szövegmegjelenítés segít a ClearType technolósgia előnyeinek kihasználásában
	Lehetővé teszi az előre rendelt szöveg gyorsítótárazási technikájának használatát a videómemóriában
	Erőforrás-alapú megközelítés minden vezérléshez
	A bemutató időzítőit a WPF inicializálja és kezeli
	A videó és az animáció közötti kapcsolat szintén támogatott
	A WPF-ben a stílus olyan tulajdonságok halmaza, amelyeket a vizuális megjelenítéshez használt tartalomra kell alkalmazni
	A WPF sablonjai segítenek a dokumentum UI értékének megváltoztatásában
	A parancsok az események elvontabb és lazábban kapcsolt változatai
	A WPF parancsok támogatása csökkent a megírandó kód mennyiségét

A WPF többrétegű architektúrájának legfelső szintjén a PresentationFramework.dll áll. Ezt használjuk fejlesztés közben, itt vannak implementálva a különböző vezérlők (Button, Border,...) stílusok, stb. PresentationFramework.dll számára az alaposztályokat (UIElement, Visual, stb.) a PresentationCore.dll biztosítja. Ezekből az osztályból származnak többek között a formák (shape) és a vezérlők (controls). A WindowsBase.dll a WPF alapvető működéséhez szükséges objektumosztályokat tartalmazza. A WPF névterei a System.Windows névtérben helyezkednek el.

System.Object

A WPF összes osztálya a System.Object-ből származik. A WPF legfontosabb komponensei a PresentationFramework, PresentationCore és a milcore, tartalmazzák a WPF legfontosabb kódrészleteit. Ezek között a milcore az egyetlen nem menedzselt kódban írt komponens.

XAML

XAML (eXtensible Application Markup Language) egy XML alapú deklaratív jelölőnyelv, amely a .NET keretrendszer modelljébe illeszkedve leegyszerűsíti a grafikus felhasználói felület (GUI) kialakítását. XAML deklaratív nyelv nyelvtani szabályrendszere nagyon egyszerű. Általános tervezési alapelve, hogy a XAML dokumentum minden eleme - kivéve, ha egy attribútumot definiál

A XAML előnyei:
	Elválasztja a front-end megjelenést a háttér logikától
	A legegyszerűbb módszer a felhasználói felületek ábrázolására
	Hatékonyan dolgozik az eszközökkel