Windows Presentation Foundation: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
m Bot: Aggiungo template {{interprogetto}} (FAQ) |
||
Riga 21:
Tutte le applicazioni WPF sono composte da 2 thread: il thread per gestire la UI e l'altro thread detto render thread che in maniera nascosta gestisce le funzioni di rendering e repainting. Perciò rendering e repainting sono gestite da WPF stesso, senza intervento dello sviluppatore. Il thread per la UI ospita il Dispatcher (attraverso un'istanza dell'oggetto DispatcherObject), il quale mantiene una coda di operazioni che necessitano di essere eseguite sulla UI (come un albero fatto di oggetti Visual, detto albero visuale) ordinate per priorità. Gli eventi della UI, compreso il cambiamento di una proprietà che riguarda il layout, ed eventi causati dall'interazione dell'utente sono accodati nel dispatcher, il quale invoca i gestori degli eventi. Microsoft raccomanda che i gestori degli eventi aggiornino solo le proprietà per riflettere il nuovo contenuto come risposta; il nuovo contenuto sarà generato o recuperato dal render thread. Il render thread prende una copia dell'albero visuale e attraversa l'albero calcolando quali componenti saranno visibili e renderizzandoli come superfici Direct3D. Il render threads inoltre salva in una cache l'albero visuale, così devono essere comunicati solo i cambiamenti all'albero, e perciò soltanto i pixel cambiati risulteranno aggiornati. WPF supporta un modello di layout estendibile. Il layout è diviso in due fasi che svolgono le funzioni di misurare ed adattare. Nella fase di misura vengono ricorsivamente chiamati tutti gli elementi e viene determinato lo spazio che essi prendono. Nella fase di adattamento, gli elementi figli vengono ricorsivamente adattati nello spazio dei loro genitori, invocando l'algoritmo di layout del modulo in uso.
== Altri progetti ==
{{interprogetto}}
{{portale|Microsoft}}
[[Categoria:Microsoft Windows]]
|