一個完善的Silverlight程序一般都會需要一個很強大的動畫鏈接庫和很長XAML文件加一些資源文件,在加載中可能浪費很長時間。這時候我們需要顯示一個狀態和進度為浏覽者顯示出來,不至於誤會成沒響應到程序錯誤。本文的主要技術在與使用Downloader對象的使用,和使用下載以後的文件。
首先我們需要進立2個XAML文件,第一個命名為“Loading.xaml“,另一個為Main.xaml。Loading.xaml的語言支持采用了Javascript,因為Loading必須要文件小,很快讓浏覽都看到效果。Main.xaml文件采用了MSIL動態鏈接庫,雖然在下載過程中需要很多的安全檢查,但是在運行中得到了最佳的性能。
浏覽效果:
Downloader類常用成員
類型 名稱 說明
方法 Abort() 中斷下載
方法 Open(string verb, System.Uri URI) 使Downloader對象載入網址參數
方法 Send() 發送請求
屬性 double DownloadProgress 下載進度,可以在DownloadProgressChanged發生時調用
屬性 String ResponseText 通過send方法以後,如果是文本可以使用此方法讀取!
屬性 int Status Downloader的狀態代碼
屬性 String StatusText Downloader對象的狀態說明
事件 Completed 下載完成時發生
事件 DownloadFailed 下載失敗時發生
事件 DownloadProgressChanged 下載進度改變時發生
代碼說明:
要下載文件URI數組,您只要更改此數組來下載您的文件:
window.onload事件中位Silverlight事件的初始化進行處理,包括事件綁定、坐標等的制定。