SlideShare a Scribd company logo
1 of 4
WINDOWS PRESENTATION FOUNDATION INDICE INTRODUZIONE 1.1 Che cos’è Windows Presentation Foundation . . . . . . . 7 1.2 Novità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 1.3 Scopo del libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 1.4 Requisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 XAML 2.1 Introduzione a XAML . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Sintassi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 Markup Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4 Content Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 NUOVI CONCETTI 3.1 Dependency Property . . . . . . . . . . . . . . . . . . . . . . . . .17 3.2 Attacched Properties . . . . . . . . . . . . . . . . . . . . . . . . . .23 3.3 Routed Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.4 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 3.5 Application Model . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 SVILUPPARE APPLICAZIONI CON WPF 4.1 Panoramica sui controlli . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.1 Content Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.2 Items Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2 Gestione delle dimensioni, posizioni e trasformazioni . 56 4.2.1 Posizionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.2 Trasformazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 4.3 Gestione del Layout . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.3.1 Stackpanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Scaricalo gratis su  http://www.punto-informatico.it/ PILibri
WINDOWS PRESENTATION FOUNDATION 4.3.2 Wrappanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.3. Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 4.3.4 Dockpanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.3.5 Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.4 Styles & Templates . . . . . . . . . . . . . . . . . . . . . . . . .76 4.4.1 Gli styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.4.2 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.5 Data binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 4.5.1 Binding singolo . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.5.2 List binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.5.3 Data Templates . . . . . . . . . . . . . . . . . . . . . . . . . .99 SVILUPPARE APPLICAZIONI WPF CON INTERFACCE AVANZATE 5.1 DISEGNARE OGGETTI 2D . . . . . . . . . . . . . . . . .105 5.1.1 Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.1.1.1 Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 5.1.1.2 Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.1.1.3 Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 5.1.1.4 Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 5.1.2 Brushes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 5.2 Disegnare oggetti 3D . . . . . . . . . . . . . . . . . . . . . . 112 5.3 Animazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 USER & CUSTOM CONTROLS 6.1 User Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.2 Custom Controls . . . . . . . . . . . . . . . . . . . . . . . . . .135 Scaricalo gratis su  http://www.punto-informatico.it/ PILibri
WINDOWS PRESENTATION FOUNDATION APPLICAZIONI WEB CON WPF 7.1 Panoramica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139 7.2 Limiti delle applicazioni XBAP . . . . . . . . . . . . . . . . 141 AUDIO, VIDEO E DOCUMENTI 8.1 Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 8.2 Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 8.3 Documenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Scaricalo gratis su  http://www.punto-informatico.it/ PILibri
WINDOWS PRESENTATION FOUNDATION INTRODUZIONE  1.1 CHE COS’E’ WINDOWS PRESENTATION FOUNDATION   Annunciato pubblicamente nel 2003 con il codename “Avalon”, Windows Presentation Foundation ha subito attirato l’attenzione di chi, come me, sviluppa applicazioni utilizzando Windows Forms o GDI. In principio pensato come API per Windows Vista, Windows Presentation Foundation è stato reso disponibile anche per Windows XP con Service Pack 2 e Windows Server 2003. Incluso nel Microsoft .NET Framework 3.0, Windows Presentation Foundation, mette a disposizione un’infrastruttura per semplificare il processo di sviluppo di evolute interfacce utente, documenti XPS, disegno 3D, utilizzo di media (audio, video, …). Tuttavia, Windows Presentation Foundation, può essere tranquillamente un sostituto di Windows Forms per lo sviluppo di semplici applicazioni stand-alone che non hanno bisogno di interfacce evolute visto che, comunque, introduce un nuovo modello di programmazione e nuovi concetti per un più veloce processo di sviluppo. Questo non vuol dire, comunque, che saremo costretti ad utilizzare Windows Presentation Foundation anziché Windows Forms ma, se vogliamo creare interfacce più accattivanti, molto più vicine a quelle a cui l’utente si sta abituando (web, flash),WPF nasce per questo: per sostituire l’attuale GDI che, tutto sommato, non ha grosse limitazione se non il fatto di basarsi su un modello di rendering ormai sorpassato in quanto fortemente orientato al pixel. Windows Presentation Foundation, infatti, è completamente basato su grafica vettoriale il che significa una più universale fruizione dei contenuti su diversi dispositivi visto che, in qualsiasi condizione, non c’è nessuna perdita di qualità nel rendering. Scaricalo gratis su  http://www.punto-informatico.it/ PILibri

More Related Content

More from Pi Libri

Android programming
Android programmingAndroid programming
Android programmingPi Libri
 
Mela marcia
Mela marciaMela marcia
Mela marciaPi Libri
 
Lavorare con java 6
Lavorare con java 6Lavorare con java 6
Lavorare con java 6Pi Libri
 
Lavorare con active directory n 105
Lavorare con active directory n 105Lavorare con active directory n 105
Lavorare con active directory n 105Pi Libri
 
Imparare c n.104
Imparare c  n.104Imparare c  n.104
Imparare c n.104Pi Libri
 
Imparare asp.net 107
Imparare asp.net 107Imparare asp.net 107
Imparare asp.net 107Pi Libri
 

More from Pi Libri (6)

Android programming
Android programmingAndroid programming
Android programming
 
Mela marcia
Mela marciaMela marcia
Mela marcia
 
Lavorare con java 6
Lavorare con java 6Lavorare con java 6
Lavorare con java 6
 
Lavorare con active directory n 105
Lavorare con active directory n 105Lavorare con active directory n 105
Lavorare con active directory n 105
 
Imparare c n.104
Imparare c  n.104Imparare c  n.104
Imparare c n.104
 
Imparare asp.net 107
Imparare asp.net 107Imparare asp.net 107
Imparare asp.net 107
 

Recently uploaded

Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 

Recently uploaded (9)

Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 

Windows presentation foundation

  • 1. WINDOWS PRESENTATION FOUNDATION INDICE INTRODUZIONE 1.1 Che cos’è Windows Presentation Foundation . . . . . . . 7 1.2 Novità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 1.3 Scopo del libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 1.4 Requisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 XAML 2.1 Introduzione a XAML . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Sintassi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 Markup Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4 Content Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 NUOVI CONCETTI 3.1 Dependency Property . . . . . . . . . . . . . . . . . . . . . . . . .17 3.2 Attacched Properties . . . . . . . . . . . . . . . . . . . . . . . . . .23 3.3 Routed Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.4 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 3.5 Application Model . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 SVILUPPARE APPLICAZIONI CON WPF 4.1 Panoramica sui controlli . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.1 Content Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.2 Items Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2 Gestione delle dimensioni, posizioni e trasformazioni . 56 4.2.1 Posizionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.2 Trasformazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 4.3 Gestione del Layout . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.3.1 Stackpanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Scaricalo gratis su http://www.punto-informatico.it/ PILibri
  • 2. WINDOWS PRESENTATION FOUNDATION 4.3.2 Wrappanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.3. Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 4.3.4 Dockpanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.3.5 Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.4 Styles & Templates . . . . . . . . . . . . . . . . . . . . . . . . .76 4.4.1 Gli styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.4.2 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.5 Data binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 4.5.1 Binding singolo . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.5.2 List binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.5.3 Data Templates . . . . . . . . . . . . . . . . . . . . . . . . . .99 SVILUPPARE APPLICAZIONI WPF CON INTERFACCE AVANZATE 5.1 DISEGNARE OGGETTI 2D . . . . . . . . . . . . . . . . .105 5.1.1 Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.1.1.1 Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 5.1.1.2 Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.1.1.3 Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 5.1.1.4 Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 5.1.2 Brushes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 5.2 Disegnare oggetti 3D . . . . . . . . . . . . . . . . . . . . . . 112 5.3 Animazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 USER & CUSTOM CONTROLS 6.1 User Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.2 Custom Controls . . . . . . . . . . . . . . . . . . . . . . . . . .135 Scaricalo gratis su http://www.punto-informatico.it/ PILibri
  • 3. WINDOWS PRESENTATION FOUNDATION APPLICAZIONI WEB CON WPF 7.1 Panoramica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139 7.2 Limiti delle applicazioni XBAP . . . . . . . . . . . . . . . . 141 AUDIO, VIDEO E DOCUMENTI 8.1 Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 8.2 Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 8.3 Documenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Scaricalo gratis su http://www.punto-informatico.it/ PILibri
  • 4. WINDOWS PRESENTATION FOUNDATION INTRODUZIONE 1.1 CHE COS’E’ WINDOWS PRESENTATION FOUNDATION Annunciato pubblicamente nel 2003 con il codename “Avalon”, Windows Presentation Foundation ha subito attirato l’attenzione di chi, come me, sviluppa applicazioni utilizzando Windows Forms o GDI. In principio pensato come API per Windows Vista, Windows Presentation Foundation è stato reso disponibile anche per Windows XP con Service Pack 2 e Windows Server 2003. Incluso nel Microsoft .NET Framework 3.0, Windows Presentation Foundation, mette a disposizione un’infrastruttura per semplificare il processo di sviluppo di evolute interfacce utente, documenti XPS, disegno 3D, utilizzo di media (audio, video, …). Tuttavia, Windows Presentation Foundation, può essere tranquillamente un sostituto di Windows Forms per lo sviluppo di semplici applicazioni stand-alone che non hanno bisogno di interfacce evolute visto che, comunque, introduce un nuovo modello di programmazione e nuovi concetti per un più veloce processo di sviluppo. Questo non vuol dire, comunque, che saremo costretti ad utilizzare Windows Presentation Foundation anziché Windows Forms ma, se vogliamo creare interfacce più accattivanti, molto più vicine a quelle a cui l’utente si sta abituando (web, flash),WPF nasce per questo: per sostituire l’attuale GDI che, tutto sommato, non ha grosse limitazione se non il fatto di basarsi su un modello di rendering ormai sorpassato in quanto fortemente orientato al pixel. Windows Presentation Foundation, infatti, è completamente basato su grafica vettoriale il che significa una più universale fruizione dei contenuti su diversi dispositivi visto che, in qualsiasi condizione, non c’è nessuna perdita di qualità nel rendering. Scaricalo gratis su http://www.punto-informatico.it/ PILibri