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: https://www.silverlightitalia.com/script/demo/11/

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire il ciclo di vita di AbortController in Javascript
Creare una cache temporanea in JavaScript
Shadow DOM open e closed sulla gestione delle pagine
Operazioni tra insiemi di array in Javascript
Creare popup e menu nativi in HTML con la Popover API
Utilizzare noopener e noreferrer nei link HTML
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Cache temporanea in Javascript con oggetti
Creare una chat AI con Angular e React
Applicare il progressive enhancement in applicazioni web
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Accedere a risorse e immagini in Windows Store app di Windows 8
- Gli oggetti CallOut di Expression Blend 4.0
- Le DirectInk API nella Universal Windows Platform
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Esaminare documenti con namespace con LINQ e XDocument


