Parameetrid aadressiribalt

On kaks põhilist viisi, kuidas Silverlight rakendustele enne käivitamist veidi sisendinfot edastada – initParams ja url parameetrid. Selles postituses on juttu aadressiribalt kaasaantavatest parameetritest.

http://www.riiul.com/rakendus?eesnimi=jaana&perenimi=metsamaa

Aadressiribal asuvad parameetrid säilitatakse muutujas HtmlPage.Document.QueryString

Nagu varasemaski initsialiseerimisparameetrite postituses säilitame need väärtused App.Current.Resources sõnastikku, kust neid on hiljem hõlbus kätte saada.

image thumb13 Parameetrid aadressiribalt

Võtmetele ligipääs:

image thumb14 Parameetrid aadressiribalt

Kaks lähenemist initParams ja parameetrid aadressribalt funktsioneerivad suhteliselt sarnaselt, kuid kindlasti on erinevates situatsioonides õigem kasutada üht või teist. Nagu sissejuhatuses öeldud kuvatava videofaili asukohta me aadressiribale ei paneks aga külastaja meile saatnud lehe identifitseeriva id küll.

Silverlight initsialiseerimisparameetrid

On kaks põhilist viisi, kuidas Silverlight rakendustele enne käivitamist veidi sisendinfot edastada – initParams ja url parameetrid. Selles postituses on juttu initsialiseerimisparameetritest.

Sisendparameetreid võib vaja minna näiteks Silverlight videomängija puhul, kus me ei tahaks mängijat iga kord uuesti kompileerida, kui uut videot vaja näidata. Seega kasutaksime hoopis sisendparameetreid, et mängijale videofaili nimi edastada.

Initparams

Initsialiseerimisparameetrid seatakse paika HTML koodis, kus Silverlight rakendus veebilehele lisatakse. Erinevate parameetrite eraldajateks on vaikimisi koma ,.

<param name=”initParams” value=”eesnimi=jaana,perenimi=metsamaa,vanus=24” />

image thumb8 Silverlight initsialiseerimisparameetrid

Parameetrite väärtused saame kätte vaid ühes kohas – Application klassis, Application_Startup sündmusehalduris. Neid parameetreid muuta ei saa.

Lisame Application_Startup sündmusehaldurisse lihtsa tsükli, mis kõik parameetrid ekraanile kuvab.

image thumb9 Silverlight initsialiseerimisparameetrid

Tulemuseks saame:

image thumb10 Silverlight initsialiseerimisparameetrid

Tõenäoliselt on meil vaja nende parameetrite paaride mõlemat väärtust eraldi ja võibolla ka kunagi hiljem kui ainult Application klassis rakenduse käivitamise ajal. Seega kirjutame kõik need väärtused rakenduse globaalsete ressursside hulka – App.Current.Resources sõnastikku. App.Current.Resourses väärtustele saame ligi ükskõik, mis klassist.

image thumb11 Silverlight initsialiseerimisparameetrid

Hiljem saame nendele väärtustele suvalises UserControl-is ligi nii:

image thumb12 Silverlight initsialiseerimisparameetrid 

Väga lihtne võte, kuid annab rakendusele kindlasti palju lisaväärtust –

Rakenduse seadete säilitamine kasutaja arvutis

IsolatedStorage on tehnoloogia, mille abil saab Silverlight rakendus kasutaja arvutisse andmeid salvestada. Sellest, kuidas IsolatedStorage abil failistruktuure luua on palju räägitud, aga vahel on meil vaja säilitada aga väga väikest infohulka – rakenduse seadeid, mis on antud kasutaja spetsiifilised. Selleks ei pea me eraldi failistruktuuri looma vaid saame kasutada IsolatedStorageSettings võtme-väärtuse sõnastikku.

Konkreetse rakenduse seaded saame kätte:

using System.IO.IsolatedStorage;

private IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings;

väärtuse lisamiseks:

appSettings.Add(“nimi", “Jaana Metsamaa”);

Hiljem saame rakenduse käest küsida

nimekast.Text = (string)appSettings["nimi"];

ja vajadusel muuta:

appSettings[“nimi”] = “Uus nimi”;

kui väärtus ei ole enam oluline võime selle võtme seadete hulgast eemaldada:

appSettings.Remove(“nimi”);