Windows Presentation Foundation: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Giamak (discussione | contributi)
Giamak (discussione | contributi)
Riga 9:
[[Immagine:WPF_Architettura.png|300x350px|thumbnail|right|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 soltato 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 superfice con una vista per esporre animazioni costruite ad alto livello, componendoesegue glila composizione degli elementi individuali di una applicazione WPF nella scena finale 3D che rappresenta la UI dell'applicazione e laquindi si incarica di renderizzarenderizzarla sullo schermo. I media codec sono anche implemtntati come codice non gestito, e sono forniti da ''"windowscodecs.dll"''. Nella parte gestitadi codice gestito abbiamo il PresentationCore (''"presentationcore.dll"'') che fornisce un wrapper per MIL e implementa il cuore dei servizi per WPF, 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.il PresentationFramework (''"presentationframework.dll"'') che implementa le novità incluse layouts, time-dependent, story-board based animations, and 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.