Windows Presentation Foundation: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m ortografia |
m →Collegamenti esterni: Bot: elenco puntato, come da manuale |
||
(16 versioni intermedie di 15 utenti non mostrate) | |||
Riga 1:
{{
'''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
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 è
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<ref>{{Cita web|url=https://www.hwupgrade.it/news/sistemi-operativi/microsoft-rende-windows-forms-winui-e-wpf-open-source_79525.html|titolo=Microsoft rende Windows Forms, WinUI e WPF open source|sito=Hardware Upgrade|lingua=it-IT|accesso=2018-12-05}}</ref>.
==Architettura==
[[Immagine:WPF_Architettura.png|300x350px|thumbnail|right|WPF Architettura]]
L'architettura di Windows Presentation Foundation si basa sia su 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.
<!--
includendo un gestore delle proprietà che è consapevole delle dipendenze che esistono tra chi produce e chi consuma determinate proprietà, un sistema di dispatching per mezzo di un oggetto Dispatcher per implementare un sistema ad eventi specializzato e servizi i quali possono implementare un sistema di impaginazione legato alla dimensione degli elementi della UI. PresentationFramework (''"presentationframework.dll"'') implementa le novità incluse layouts, time-dependent, story-board based animations, and data binding.
WPF exposes a property system for objects which inherit from DependencyObject, that is aware of the dependencies between the consumers of the property, and can trigger actions based on changes in properties. Properties can be either hard coded values or expressions, which are specific expressions that evaluate to a result. In the initial release, however, the set of expressions supported is closed.[6] The value of the properties can be inherited from parent objects as well. WPF properties support change notifications, which invoke bound behaviors whenever some property of some element is changed. Custom behaviors can be used to propagate a property change notification across a set of WPF objects. This is used by the layout system to trigger a recalculation of the layout on property-changes, thus exposing a declarative programming style for WPF, whereby almost everything, from setting colors and positions to animating elements can be achieved by setting properties.[6] This allows WPF applications to be written in XAML, which is a declarative mark-up language, by binding the keywords and attributes directly to WPF classes and properties.
Riga 21 ⟶ 23:
-->
Tutte le applicazioni WPF sono composte da 2
== Note ==
<references/>
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* {{cita web|https://github.com/dotnet/wpf|Repository su GitHub}}
{{portale|Microsoft}}
[[Categoria:Microsoft Windows]]▼
[[
|