Deepzoom in Silverlight 2.0

9 pagine in totale: <<Indietro 1 [2] 3 ... 6 7 8 9 Avanti >>

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

  1. Impostare la sorgente dati del MultiScaleImage al file generato da Deep Zoom Composer;
  2. 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;
  3. 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); 

9 pagine in totale: <<Indietro 1 [2] 3 ... 6 7 8 9 Avanti >>

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.



Segnala su: Facebook MSDN Social Twitter Segnalo Wikio Diggita Technorati Stumbleupon Google Yahoo FriendFeed Delicious Furl

TUTORIALS
TOP TEN ARTICOLI
ARTICOLI VIA E-EMAIL

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

MEDIA
IN EVIDENZA
MISC