Windows Presentation Foundation: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 21:
-->
 
Tutte le applicazioni WPF sono composte da 2 threads: 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 solo 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 ancheinoltre salva in una cache l'albero visuale, così devono essere comunicati solo i cambiamenti all'albero devono essere comunicati, 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 ricorsivamente 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.
{{portale|Microsoft}}