Windows Presentation FoundationWindows 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 il meccanismo basato su scambio di messaggi, cuore del modello di programmazione di Windows, viene incapsulato in code di eventi, semplificandolo e nascondendone la complessità. 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 è lo XAML (eXtensible Application Markup Language), basato su XML. Il 4 dicembre 2018, durante la conferenza Microsoft Connect(); 2018, l'azienda ha reso open source Windows Presentation Foundation, Windows Forms e WinUI (Windows UI XAML Library), caricando su GitHub il codice sorgente[1]. ArchitetturaL'architettura di Windows Presentation Foundation si basa sia su codice gestito sia 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.
Note
Altri progetti
Collegamenti esterni
|