4 pagine in totale: <<Indietro 1 2 [3] 4 Avanti >>
Il Canvas
Per poter sviluppare per Silverlight dobbiamo abbandonare l'idea di pagina, ma abbracciare quella di un pannello (normalmente Canvas). Il nostro contenitore avrà tutta la nostra grafica (media, testi, controlli, ecc), ed ha diversi attributi che ne variano il rendering che, come detto precedentemente, è la rappresentazione grafica di un file XAML quindi un file di testo contenente un markup basato su XML.
La prima cosa che si può notare andando a guardare il codice XAML creato da Visual Studio è la presenza del sopracitato Canvas, che deve essere univoco ed il padre di tutti i controlli inclusi nel nostro markup.
Questo avrà diversi attributi che indicheranno lo schema, larghezza, altezza, colore del backgroud, la classe contentente il codice managed ecc.
<Canvas x:Name="parentCanvas"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Loaded="Page_Loaded"
x:Class="WINFXItalia.SIlverLight.Page;assembly=ClientBin/WINFXItalia.SIlverLight.dll"
Width="640"
Height="480">La prima cosa da analizzare è l'attributo x:Class che indica la classe completa di namespace contenente il codice managed utilizzato per la gestione dei suoi contenuti ed eventi, proprio come accade per le pagine ASP.NET, che hanno una classe nel code file.
Una differenza rispetto ad un'applicazione ASP.NET è il path, contenente l'assembly con il nostro codice che viene scaricato sul client e non eseguito sul server (assembly=ClientBin/...).
In questo esempio la nostra applicazione viene gestita dal codice contenuto nella classe Page presente all'interno del Namespace WINFXItalia.Silverlight che a sua volta eredita da Canvas. Si tratta di una classe che può essere equiparata a Page per le pagine ASP.NET e proprio come avviene per queste, abbiamo anche qui un'evento Loaded legato al load sul client del Canvas.
Il codice seguente mostra per esempio, quindi, come cambiare il colore di Background del Canvas all'interno dell'evento Load.
public void Page_Loaded(object o, EventArgs e)
{
// Required to initialize variables
InitializeComponent();
this.Background = new SolidColorBrush(Color.FromRgb(200, 200, 200));
}Qui di seguito viene mostrato un elenco di eventi comuni in un'applicazione Silverlight:
- Loaded
- GotFocus
- LostFocus
- MouseMove
- MouseLeftButtonUp
- MouseLeftButtonDown
- MouseEnter
- KeyUp
- KeyDown
Come si può notare c'è molta similitudine tra lo sviluppo di applicazioni basate su tecnologia Silverlight e applicazioni ASP.NET e proprio come accande in queste, alcuni eventi possono essere "agganciati" a nostre funzioni tramite il markup, ossia aggiungendo l'attributo legato all'evento nel tag Canvas oppure tramite i delegate multicast da codefile come mostrato di seguito:
<Canvas x:Name="parentCanvas"
Loaded="Page_Loaded"
MouseLeftButtonDown="MouseDown"
MouseEnter="MouseEnter"
MouseLeftButtonUp="MouseUp"Oppure:
this.MouseEnter += new MouseEventHandler(Page_MouseEnter);
this.MouseLeftButtonDown += new MouseEventHandler(Page_MouseLeftButtonDown);
this.MouseLeftButtonUp += new MouseEventHandler(Page_MouseLeftButtonUp);4 pagine in totale: <<Indietro 1 2 [3] 4 Avanti >>
Contenuti dell'articolo
- Pagina 2
- Pagina 3
- Pagina 4
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.







Difficoltà

Stampa
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
