ASP.Net  »  Guide  »  Guida Silverlight 

Il progetto Silverlight



Nella più semplice delle ipotesi, come nel nostro caso, il progetto è costituito da due file, App.xaml e Page.xaml. I file XAML servono per la definizione del layout e delle risorse (es. Page.xaml) e sono sempre corredati da un file (es. Page.xaml.cs) che contiene la cosiddetta "logica applicativa", ovvero i comportamenti e le azioni che gli oggetti presenti sul layout compiranno secondo le necessità dell'applicazione. Questi file sono detti "code-behind" e sono scritti utilizzando linguaggi "managed" come C# o VB.NET.

Figura 7. Separazione tra layout e code-behind

Separazione tra layout e code-behind

Questa tecnica di separazione fra layout e codice è la stessa utilizzata per le Web Form.

App.xaml rappresenta l'entry point dell'applicazione, un po' come il global.asax nelle applicazione ASP.NET. Analizzandone il code-behind troviamo due principali metodi:

  • Application_Startup: definisce il codice per la creazione dello UserControl Silverlight che fa da elemento principale, detto anche RootElement
  • Application_UnhandledException: contiene il codice per gestire le eccezioni scatenate durante l'esecuzione e non gestite altrove. Qui dobbiamo aggiungere la nostra logica di gestione

Finalmente apriamo il file Page.xaml. Visual Studio ci mostra l'anteprima del layout definito con XAML, nonè modificabile in modo visuale ma ci aiuta a capire quale sarà il risultato finale.

L'elemento principale dell'interfaccia, come già accennato, è uno UserControl. Nella Casella degli strumenti troviamo tutti i controlli Silverlight, che possiamo trascinare all'interno del codice XAML. Le librerie necessarie, già referenziate, sono System.Windows e System.Windows.Browser.

Come primo esempio inseriamo un controllo Button e definiamone dimensione e contenuto.

<UserControl x:Class="HelloWorlldSilverlight.Page" Width="400" Height="300"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  
<Grid x:Name="LayoutRoot" Background="White">
  <Button x:Name="myButton" Content="Cliccami!" Width="150" Height="100" />
</Grid>
</UserControl>

Una volta scritto lo XAML necessario il designer si aggiornerà in maniera automatica.

Figura 8. Esempio di Button

Esempio di Button

Scenderemo in seguito nei dettagli del linguaggio XAML, intanto completiamo l'esempio intercettando l'evento Click del Button, per farlo basterà scrivere il nome dell'evento nel tag e premere due volte il pulsante TAB: Visual Studio genererà tutto il codice necessario.

Figura 9. Creazione automatica del gestore dell'evento

Creazione automatica del gestore dell'evento

Cliccando con il tasto destro sul nome dell'evento e selezionando la voce Passa al gestore eventi presente nel menu contestuale dell'editor, Visual Studio ci posizionerà nel rispettivo metodo nel code-behind.

Figura 10. Passa al gestore eventi

Passa al gestore eventi

Concludiamo inserendo la seguente riga di codice, che si visualizza un piccolo messaggio.

private void myButton_Click(object sender, RoutedEventArgs e)
{
  MessageBox.Show("Cliccato!");
}

Lanciamo l'applicazione con F5 e abilitiamo il debugger. Nel browser apparirà il nostro bottone e, cliccandici su, sarà visualizzato il messaggio.

Ultimi articoli ASP.Net

LINQ e la trappola della 'deferred execution'

Una "trappola" in cui si può incappare utilizzando il risultato di...

C#, le Custom Type Conversion

Conversioni personalizzate tra classi, creare metodi particolari per...

Introduzione a Entity Framework

Il framework ORM messo a disposizione da .NET

Repeater: visualizzare un feed RSS

Utilizzare il controllo XMLDataSource e sfruttare il metodo XPath()...

Repeater, il server control "semplice"

Cos'è e come funziona il controllo Repeater

Altri articoli

Guide ASP.Net

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Guida Visual Studio 2010

L'ambiente di sviluppo di riferimento per sviluppare applicazioni su...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto