The Dark Side of .NET Programming

Il blog di Michele Aponte
posts - 212, comments - 145, trackbacks - 16

DotNetMarche: WPF Basics con Paolo Possanzini

Eccoci qui al 13° workshop di DotNetMarche su WPF. A Paolo il compito di illustrarci la differenza tra Windows Form e WPF. Cosa hanno in comune Windows Form e WPF? Niente:

  • Nuovo linguaggio di programmazione per lo sviluppo della grafica (XAML)
  • Nuovo modello ad oggetti per rappresentare la UI
  • nuovo modello di propagazione degli eventi
  • Nuovo modello di gestione dei comandi
  • Nuovo modello di binding
  • Grafica vettoriale

Attraverso l’uso di XAML possiamo dichiarare oggetti e creare oggetti, sottoscrivere eventi, impostare proprietà e manipolare dati. Per la generazione dello xaml è possibile usare visual studio oppure blend, il primo più orientato ai programmatori, il secondo più orientato ai grafici. Andrea ci mostra come creare una semplice applicazione con un pulsante da Visual Studio e poi come cambiarne l’aspetto grafico attraverso l’uso di expression blend.

I controlli più usati in WPF sono sicuramente i contenitori, con i quali possiamo impostare varie forme di layout, come quello tabellare, nel quale possiamo poi trascinare i controlli dell’interfaccia che si adatteranno alla finestra in base al tipo di controllo che abbiamo deciso di usare.

Quando costruisco interfacce grafiche in WPF la logica del controllo (un pulsante fa il pulsante) è separata dalla sua visualizzazione. A questo scopo vengono creati un logical tree e un visual tree, il primo è l’albero dei controlli che sono presenti nell’interfaccia, il secondo invece è l’albero contenente la rappresentazione grafica dei controlli presenti nell’interfaccia. Grazie a questo meccanismo posso cambiare totalmente l’aspetto grafico di un controllo senza alterarne il funzionamento.

Passando al motore di binding di WPF, è possibile ad esempio bindare i valori dei controlli tra di loro, ad esempio uno slider e una textblock mostrando nella textblock il valore corrente dello slider. Questo in maniera completamente dichiarativa attraverso l’uso di XAML:

Text = {Binding  Value, ElementName=slider, Mode=Default}

Ci sono 4 modalità di binding:

  • Bidirezionale
  • OneWay dalla sorgente alla View
  • OneWaytoSource dalla view alla sorgente dati
  • OneTime, una sola volta dalla sorgente alla view

Ma il tempo è tiranno, le cose da dire sarebbero tante, sicuramente abbiamo solo scalfito la superficie.

Print | posted on giovedì 28 gennaio 2010 02:47 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET