#11 - Caricare un pacchetto di risorse con l'oggetto Downloader
di Alessio Leoncini, in Silverlight 1.0, 17 aprile 2008
Come è stato descritto nel precedente script #10, l'oggetto Downloader consente il caricamento asincrono di immagini, codice XAML, font ed altro; con tale oggetto è possibile scaricare anche più risorse contemporaneamente comprimendo tutti gli oggetti in un unico file nel formato ZIP.
E' possibile procedere allo scaricamento della libreria in modo del tutto analogo alla procedura per una singola risorsa:
CreateObject("downloader"); d1_onProgressChangedTK = downloader1.AddEventListener("DownloadProgressChanged", downloader1_onProgressChanged); d1_onDownloadFailedTK = downloader1.AddEventListener("DownloadFailed", downloader1_onDownloadFailed); d1_onCompletedTK = downloader1.AddEventListener("Completed", downloader1_onCompleted); downloader1.Open("GET", "silverlightitalia.zip?id="+Math.random()); downloader1.Send();
Al termine del download, gestendo l'evento Completed, è possibile accedere ad un file di tipo immagine specificandone il nome:
Image1.setSource(sender, "silverlightitalia.png");
Per utilizzare un tipo di font incluso nel pacchetto è sufficiente utilizzare il metodo setFontSource del parametro sender:
TextBlock1.setFontSource(sender);
Successivamente sarà possibile specificare nella proprità fontFamily di un TextBlock il nome di uno dei font contenuto nella libreria:
TextBlock1.fontFamily = "Jokerman";Il file ZIP della libreria di risorse può contenere anche codice XAML che può essere recuperato utilizzando il metodo getResponseText dell'oggetto sender passato come parametro al metodo gestore dell'evento Completed:
var extXAML = sender.getResponseText("10Anni.xaml");
In seguito il codice può essere convertito nei corrispondenti oggetti utilizzando il metodo createFromXaml del plugin, successivamente può essere inserito nella scena con il metodo insert:
var extXAMLobj = plugin.content.createFromXaml(extXAML);
sender.findName("root").children.insert(0, extXAMLobj);Ecco il risultato: http://www.silverlightitalia.com/script/demo/11/

Nota: Questo script contiene un allegato.
Approfondimenti
#119 - Creare servizi WCF per applicazioni Silverlight
Disponibile il Silverlight Toolkit March 2009 Release
#109 - Effettuare il Binding in WPF di una query Entity Framework
Lambda Expression in Windows Presentation Foundation
Rilasciata una patch per l'intellisense jQuery in Visual Studio 2008
#34 - Definire un metodo custom in ADO.NET Data Services
#37 - Gestione dei dati in Data Binding in Silverlight 2.0: Converters
ADO.NET Data Service al servizio di Silverlight 2.0
Realizzare un menu riutilizzabile utilizzando DataTemplate e DataBinding
Anteprima di Expression Blend 3.0
#84 - Usare DataGrid, Calendar e DatePicker in WPF
Real Code Birthday: 10 anni!
Commenti
Se hai letto questo script, indica una preferenza sui suoi contenuti:
Per procedere devi essere autenticato.






















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