Windows Presentation Foundation

libreria di classi del Framework .NET proprietarie Microsoft

Windows Presentation Foundation (o WPF), nome in codice Avalon, è una libreria di classi del Framework .NET proprietarie Microsoft (introdotta con la versione 3.0) per lo sviluppo dell'interfaccia grafica delle applicazioni in ambienti Windows.

L'innovazione principale di WPF è la rimozione di ogni legame con il modello di sviluppo tradizionale di Windows, introdotto con la versione 1.0 del sistema operativo. Tutti i controlli sono stati riscritti (non si appoggiano più a quelli della libreria “user”) e lo stesso meccanismo basato su scambio di messaggi, cuore del modello di programmazione di Windows, è stato abbandonato.

WPF è basato su un sistema di grafica vettoriale che si appoggia alle DirectX per sfruttare l'accelerazione hardware delle moderne schede grafiche. WPF può essere impiegato per realizzare applicativi eseguibili anche all'interno del browser Microsoft Internet Explorer o di altri browser avanzati, purché sia presente il Framework. Il linguaggio usato per la creazione di una interfaccia utente in WPF è l'XAML (eXtensible Application Markup Language), basato su XML.

Architettura

 
WPF Architettura

L'architettura di Windows Presentation Foundation si basa sia su codice gestito che su codice nativo. Comunque, le API pubbliche esposte sono disponibili soltanto come codice gestito. Mentre la maggior parte di WPF è in codice gestito, il motore di composizione che renderizza le applicazioni WPF è un componente nativo. Il suo nome è Media Integration Layer (MIL) e risiede in "milcore.dll". Esso si interfaccia direttamente con DirectX e provvede il supporto di base per le superfici 2D e 3D, effettua la manipolazione controllata nel tempo dei contenuti di una superficie con una vista per esporre animazioni costruite ad alto livello, esegue la composizione degli elementi individuali di una applicazione WPF nella scena finale 3D che rappresenta la UI dell'applicazione e quindi si incarica di renderizzarla sullo schermo. I media codec sono anche implementati come codice non gestito, e sono forniti da "windowscodecs.dll". Nella parte di codice gestito abbiamo il PresentationCore ("presentationcore.dll") che fornisce un wrapper per MIL e implementa il cuore dei servizi per WPF e il PresentationFramework ("presentationframework.dll") che implementa le novità incluse layouts, time-dependent, story-board based animations e data binding.

  Portale Microsoft: accedi alle voci di Wikipedia che trattano di Microsoft