Una delle funzionalità che hanno aggiunto nell’ultima versione di Deep Zoom Composer è molto interessante. Ho ricevuto spesso domande su come aggiungere pulsanti per fare lo zoom in progetti deep zoom e sicuramente in questo modo avete già molto codice e grafica già fatta.
Potete scaricare l’ultima versione da qui ( quella che ho usato è la 0.9.000.6). Quindi lanciatelo.
L’uso è semplice ed intuitivo:
In questa fase potete scegliere la modalità in cui esportare il vostro progetto DeepZoom
Scegliete Silverlight Deep Zoom, Export as a Composition e quindi Export.
Aprite il progetto generato. Ora, oltre al supporto per la rotella del mouse avete i due tasti per lo zoom in e out ( più altri ) nell’ angolo in basso a destra: muovetevi con il mouse nell’angolo, un’animazione presenterà la barra.
Se ora andate nel file app.xaml, in fondo trovate il canvas che contine i 4 bottoni, ai bottoni è associato un Data Template che ne modifica l’aspetto e il comportamento (nella porzione di codice sottostante non vedete la proprietà Template)
Ora se proprio volete essere sicuri rimuovete la proprietà Template dal primo bottone, quello con x:Name=”zoomIn”, ed ecco la versione developer (= quella brutta) dello stesso bottone.
Procediamo ed andiamo a vedere il codice C# dietro il bottone Evento ZoomInClick, che contiene il codice seguente, dove viene svelato il mistero.
Lo XAML della pagina contiene un elemento di tipo MultiScaleImage, che viene referenziato da code-behind con il nome msi. Tra i metodi di questo oggetto esiste ZoomAboutLogicaPoint, che si occupa, guarda caso, proprio di gestire lo zoom, ma dato che lavora con coordinate logiche ( da 0 a 1) e non fisiche, viene invocato il metodo ElementToLogicalPoint, che converte le coordinate da pixel a logiche. Nel codice viene preso come riferimento il centro del rettangolo disegnato dall’elemento MultiScaleImage. Nel codice generato dal Composer la Width e la Height viene recuperata dalle proprietà ActualWidth e ActualHeight.
Ecco l’elenco delle nuove e/o estese API ( forse non è completo) ma rende l’idea:
Se state facendo il download di un file un pò grande potete controllare lo stato di avanzamento in modo qualitativo guardando l’icona di Internet Explorer 8 sulla Taskbar, che andrà via via riempiendosi durante il periodo di download.
Se poi andate sopra con il mouse vedete la finestra di download tra gli altri tab aperti:
Fino a qualche mese fa, non ero a conoscenza di queste specifiche (Accessible Rich Internet Applications): che hanno lo scopo di definire come creare applicazioni RIA facilmente accessibili. Grazie a qualche accorgimento nel codice infatti è possibile avere applicazioni HTML, JavaScript che possono facilmente essere utilizzate da persone con disabilità e che utilizzano dispositi come screen-reader per avere accesso a Internet.
Sono arrivato allo studio di queste specifiche quando ho cominciato ad interessarmi alle novità di Internet Explorer 8 e vi sono ritornato quando ho letto del supporto migliorata che ci sarà nella RC in cui oltre alla modalità standard di IE8, tale supporto vi sarà anche per la modalità IE7 e Quirk.
Per uno svillupatore fare in modo che il proprio sito supporti WAI-ARIA vuol dire aggiungere delle proprità all’ HTML:
role
Se siete interessati a dare uno sguardo alle novità di Internet Explorer 8 sul supporto agli standard per l’accessibiltà:
Durante la presentazione che feci ai MS Days 08 su IE8, ho brevemente accennato ad alcune API che possono interessare a chi sviluppa applicazioni AJAX. Una di queste si chiama XDomainRequest (XDR) e ha l’obbiettivo di permettere chiamate cross-domain, ad esempio da una pagina a.aspx nel dominio a.com ad una pagina b.aspx nel dominio b.com.
Nella RC di IE 8, sarà disponibile il supporto completo a Simple Cross-Site Access Request. In estrema sintesi nella pagina chiamata, b.aspx, è possibile specificare un header http (Access-Control-Allow-Origin) che contiene l’url del sito chiamante, rendendo estremamente granulare la scelta del chiamante stesso.
In questo video pubblicato sul sito di IE8 in cui si dà la notizia, potete vedere due cose interessanti: la prima un esempio di questa tecnica con IE8, la seconda come modificare la sola pagina chiamante per funzionare con la beta di Firefox. La pagina chiamata, invece non dovrà essere modificata.
Oggi sono rientrato da un lungo periodo di ferie, gurdando tra mail, post arretrati e quant’altro sono stato incuriosito da questa iniziativa che i ragazzi di ASPItalia stanno organizzando in occasione della conferenza Basta!Italia. L’idea è semplice se qualcuno di vuoi si sente in grado di fare una sessione tecnica su tecnologie Microsoft, può proporre il titolo di una sessione e se viene scelto, avrà il palco serale a sua dispozione! Probabilmente non interessa proprio a tutti, ma se qualcuno vuole provare, anche solo per una volta … penso sia un’ottima occasione: provare per credere. Il tempo non è più molto perchè mi sembra che la candidatura vada espressa entro il 15 gennaio, ma come dice qualcuno … solo “i più coraggiosi”. Tutte le informazioni le potete trovare qui.
Buona fortuna