Bu bölümde Silverlight ile 31 Gün yazi dizimizin üçünsü olan "Silverlight’ta Ekran Yükleme Olaylarini Özellestirme" konusuna göz atacagiz.
Daha önce bir Silverlight uygulamasini çalistirmadi iseniz, varsayilan oldukça hos bir yüklenme ekrani ile karsilasilasirsiniz. Asagidaki ekran görüntüsünden ne demek istedigimi daha iyi anlayacaksiniz.

Simdi bu varsayilan yükleme ekranini özellestirmeye çalisalim. Bu daha çok, kendi markanizi ve ekraninizi güçlendirmek, kullanicilari eglendirmek ayni zamanda farklilik saglamak için bir firsattir. Hadi baslayalim o zaman.
Ekran Yapisinin Yüklenmesi
Ilk olarak VS 2010 üzerinden yeni bir Silverlight uygulamasi baslatalim. Öncelikle ekran yüklenmesindeki fonksiyonlarin .xap dosyamizin disinda olduklarini biliyoruz. Bu konuda mantikli bir seyler düsünebilirsiniz. Burada XAP dosyasinin monitöre yüzdelik olarak yüklemesini izleyebiliriz. Bununla birlikte kodumuzun yüklenme süresinin biraz uzayabilecegini tahmin edebiliyorsunuz degil mi? Bu yüzden Silverlight projesi içinde bir XAML dosyasi olusturmamiz gerekiyor. Bu sefer web sayfamiz içerisinde bir XAML doyasi olusturacagiz. Simdi Add>New item diyerek yeni bir "Silverlight JScript File" olusturuyoruz. Bu web projemizde bir XAML dosyasi olusturmamiz gerekir aksi taktirde standart XAML dosyaniz kendiliginden olusur. Numaralari % olarak gösterebilmesi için bir TextBlock olusturmamiz gerekir. Tipki dikdörtgen gibi. Bu dikdörtgen ilerleme çubugumuz olacak. Buradaki koda “LoadingScreen.xaml“ adini verdim.

Açilis Ekran Görüntüsü
Silverlight’ta <object> etiketi ile özel bir yükleme ekrani olusturabilirken HTML’de “param” ile yapiyoruz. Splashscreensource etiketi varsayilan yerine kullanilmasi gereken bir XAML dosyasini belirtir. Asagida ekran görüntüsü inceleyebilirsiniz.

Eger benimle birlikte sizlerde deniyorsaniz degisikliklerin farkina varmissinizdir. “onSourceDownloadProgressChanged” olayina dikkat etmemiz gerekir. Neyse ki <object> etiketimizi baska bir param etiketiyle yapiyoruz. Verdigimiz bu degerler aslinda Javascriptinin adidir ve bunlari bizim yazmamiz gerekir. Tipki asagida yazdigimiz gibi.

Burada ayrica program tarafindan otomatik atanmis bir Javascript dosyasi var. Buradaki fonksiyon basit ve gerçek verileri bizim XAML dosyamiza tasir ve yerlestirir. Ilk olarak fonksiyona bakalim daha sonra o fonksiyonun diger bölümlerini tartisabiliriz.

• slObject - Silverlight projesinde <object> etiketi için bir referanstir. Bu referans alt elmentleri bulabilmem için gereklidir. Özellikle “Rectangle” ve “TextBlock” elementlerinde oldukça faydalidir.
• progressBar - XAML dosyam içerisinde “ProgressBar Rectangle” elementleri için referanstir. XML sayesinde bunlari almak her zaman bu kadar kolay olur mu? Belirtilen isimde bir döküman arandigi zaman bulunana kadar sadece belge dizininde arar.
• progressTitle - XAML dosyasi içerisindeki TextBlock’lari yüzdelik olarak düzenleyen elementtir.
• eventArgs.progress - Fiziksel olarak tamamlandigini gösteren numaralandirmadir. Yani yüzdelik dilim göstergesini saglayan elementtir. Rectangle’i düzenlemek ve degistirmek için kullaniriz. Bu nedenle yüzdelik arttikça oda büyür. Benim ekledigim TextBlock numaralarini sonuna kadar gösteren %’nin eklenmesini saglar.
• eventArgs.get_progress() - Genellikle sayfamizda bir özenin olmamasi halinde “get_proggress” yöntemini çagirmamiz gerekir. Bu denilenler yapildiktan sonra EventArgs’in sadece ilerleme özelligini kullanarak, bir önceki bölümde varsayilan olacaktir.
Haberci Destek Tim adina çevirisi CW-XL- tarafindan yapilmistir.