Deepzoom in Silverlight 2.0
di Marco De Sanctis, in Silverlight 2.0, 18 novembre 2008
Come si può notare, il sito web di esempio risultante contiene, all'interno del path ClientBin, una cartella GeneratedImages con al suo interno una struttura di sottocartelle che contengono le varie immagini alle diverse risoluzioni, e un file dzc_output.xml che rappresenta la vera e propria sorgente dati che dovrà essere referenziata dal controllo MultiScaleImage affinché tutto funzioni.

Il file Page.xaml è piuttosto banale e non merita molti commenti, dato che contiene esclusivamente un controllo MultiScaleImage all'interno di una griglia; il codice lato C# è invece parecchio più corposo e, senza entrare nei dettagli, si occupa sostanzialmente di 3 aspetti
- Impostare la sorgente dati del MultiScaleImage al file generato da Deep Zoom Composer;
- sottoscrivere una serie di eventi, sia sul MultiScaleImage stesso che sulla Page di Silverlight, per intercettare movimenti del mouse (e della sua rotellina, tramite la classe MouseWheelHelper) o pressioni di pulsanti;
- gestire questi eventi impostando opportunamente il livello di Zoom e le coordinate di origine del MultiScaleImage.
Da ciò si evince un concetto importantissimo, ossia che il controllo MultiScaleImage, da solo, non offre alcun tipo di interattività, solo eventi da gestire e un set di proprietà e metodi da utilizzare per zoom e pan; dato che il codice da scrivere, oltre che non proprio banale, è anche spesso ripetitivo, il consiglio è quello di creare una classe apposita, come la MultiScaleImageMoveHandler presente nel progetto allegato all'articolo, che incapsuli tutta la logica di gestione del mouse.
Essa può essere istanziata nel costruttore dello user control e soprattutto riutilizzata in tutti i progetti in cui se ne ha la necessità.
new MultiScaleImageMoveHandler(this.msi, this);
Attenzione: Questo articolo contiene un allegato
Contenuti dell'articolo
Sullo stesso argomento
-
Applicazioni Silverlight con il cloud computing su Windows Azure
-
Aggiungere interattività al controllo Chart di Silverlight 3.0
-
Realizzare un sito completo in Silverlight: una galleria fotografica
-
Supporto audio e video in Silverlight 3.0
-
Effetti speciali sulle immagini in Silverlight 3.0
-
Anteprima di Expression Blend 3.0
-
Le novità di Silverlight 3.0 beta 1
-
Realizzare un menu riutilizzabile utilizzando DataTemplate e DataBinding
-
Un tocco di stile alle applicazioni Silverlight: style e template
-
Multithreading in Silverlight 2.0

















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.