Framework: 3.5
Visualstudio: 2008
Perché non sperimentare magari qualcosa di buono salta pure fuori, e così mi sono deciso a provare con un filo di scetticismo WPF.
L’acronimo è di Windows Presentation Foundation e senza concentrarci troppo sul concreto significato di ogni singola parola... il tutto sta per “abbiamo un modo per disegnare finestre web o windows in modo che siano scalabili o proporzionate indipendentemente da chi le sta mostrando”.
Ciò detto, mi sembra che l’idea in se e per se sia ottima sfruttabilissima, bellissima... ma non mi è parso di vedere tutta questa diffusione.
Sarà anche che in molti libri associano il WPF a vista ( a ragion veduta ... ) e di contro molti di noi leggendo quelle 5 lettere o chiudono il libro, o lo gettano molto lontano.
Vi anticipo che lo sto provando su W7.
Il tema quindi di questa sezione (WPF Tutorials) sara costituito da una serie di Esercizi guidati per chi è incuriosito dall’argomento, vorrebbe provare ma non sa a come muoversi.
Che cosa vi serve per seguirmi:
- Visual Studio 2008,
- Il framework 3.5,
- Qualche mega libero su disco da organizzare bene,
- Un po’ di tempo a lezione,
- SqlExpress o equivalente.
Struttura cartella Tutorials:
Root\WPF\Tutorials_###
Dove: Root potrebbe essere c:\ d:\
Dove: WPF è la cartella di raccolta
Dove: Tutorials_### è il tutorial che stiamo affrontando.
Ciò detto si parte.
Aprire Visual Studio e :
Scegliere nuova WPF Application.
Impostare come percorso quanto sopra.
Sorpresa... quello che otteniamo è un qualcosa che apparentemente sembra inguardabile.
Un quadrato al centro della finestra, con qualcosa di simile all’XML nel box del codice.
E dato che è normale e di rigore la prima cosa che faremo è il play... e naturalmente otteniamo una finestra vota, dal titolo Windows1 (sempre che non l’abbiate già rinominata).
Per scelta rinomino questa prima finestra in wpf_Main, già conscio del fatto che essendo la mia prima finestra non mi interesserà un gran che del suo destino, tuttavia è di interesse per il progetto quindi dobbiamo cambiare il file app.xaml
<Application x:Class="Tutorial_001.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="wpf_main.xaml">
<Application.Resources>
</Application.Resources>
</Application>
Analizziamo quindi lo XAML
<Window x:Class="Tutorial_001.wpf_Main"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="wpf_Main" Height="300" Width="300">
<Grid>
</Grid>
</Window>
In se e per se assomiglia all’XML a cui però è connesso il code Behind, e fin qui non ho ancora visto nulla di nuovo.
Una cosa che tuttavia stupisce parecchio è l’aspetto delle proprietà che sembrano completamente diverse rispetto a quelle di una classica windows applications.
A questo punto direttamente nel box del codice aggiungiamo la nostra prima label e il nostro primo bottone...
<Label Margin="10,10,0,0"
Name="lblTest"
Height="25"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Width="100">Tutorials 001</Label>
<Button Margin="10,50,0,0"
Name="btnTest"
Height="25"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Width="100">My Firts Action </Button>
(vi basterà fare il copia e incolla)
E quello che noterete e che la sintassi è molto molto simile all’html. A questo punto possiamo scegliere due vie lanciare la nostra prima applicazione WPF ( che non fa nulla ) o aggiungere il nostro primo EventHandler, ed io sceglierei tanto la seconda.
Doppio click sul bottone disegnato in finestra e in quello che per noi è il code Behind otteniamo:
private void btnTest_Click(object sender, RoutedEventArgs e)
{
}
Che non è un EventHandler comune, ma un Routed Event Handler ... di cui parleremo
più avanti.
E quindi per concludere la nostra prima lezione ( così base da farmi quasi impallidire ) aggiungiamo :
private void btnTest_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Ok .. andiamo verso la chiusura della prima lezione...");
}
Compiliamo e se tutto va come deve andare... abbiamo finito.
RIEPILOGO TUTORIAL 1
- Abbiamo realizzato una soluzione utilizzando un linguaggio simile all’HTML,
- Abbiamo notato che le proprietà e gli eventi sono differenti rispetto a windows e web form,
- Abbiamo notato che forse potrebbe non essere troppo noioso.
Nessun commento:
Posta un commento