這是我做的乙個載入例子,源**可參考**:
其實文章並不長,只有下面紅色的部分才是需要你實現的**。
開發平台
我用的是visual studio 2010 +
silverlight 4
其實用visual studio 2010/2008 + silverlight
4/3都可以的
下面首先介紹一下載入的原理:
how the
silverlight loader
works
silverlight
loader getting started
guide
silverlight
loader class
diagram
網上有一篇關於實現載入的介紹,基本上是翻譯過來的,不是很詳細,文章在此:
第一步:建立乙個slloader.xap專案或在現有的slloader.xap專案中使用silverlight
loader
第二步:實現isliverlightloader介面
在mainpage.xaml.cs中新增對命名空間silverlightloader的引用,實現**:
using silverlightloader;
//建立載入頁
mainpage loader = new
mainpage();
//設定該載入頁為載入項
this.rootvisual =
loader;
//建立載入資料報管理類,並開始載入目標xap,
//該類的建構函式中的第三個引數為模擬載入網速,
//為了模擬載入過程和除錯,可以通過設定該引數來模擬載入速度,單位為kb,
//當設該引數為0時,則採用真實頻寬載入目標xap。
packagedownloadmanager pdm = new
packagedownloadmanager(loader, e.initparams, 0);
}3.在mainpage.xaml.cs中實現isliverlightloader介面
有如下幾個isilverlightloader介面需要新增,也就是在下面幾介面中實現載入進度的互動顯示:
// 初始化載入須載入的資料報列表
void initcallback(listpackagesourcelist);
// **函式,用於標識開始載入資料報
void downloadstartcallback(uri packagesource);
// **函式,用於標識載入進度發生變化
void downloadprogresscallback(uri packagesource,
downloadprogresseventargs eventargs);
// **函式,用於標識載入資料報結束
void
downloadcompletecallback(uri packagesource, downloadcompleteeventargs
eventargs);
mainpage.xaml.cs中的實現**如下,我現在把mainpage.xaml.cs的**全部粘上,紅色部分為所新增**:
using
system;
using system.collections.generic;
using system.linq;
using
system.net;
using system.windows;
using system.windows.controls;
using
system.windows.documents;
using system.windows.input;
using
system.windows.media;
using system.windows.media.animation;
using
system.windows.shapes;
using
silverlightloader;
namespace slloader
#region isilverlightloader members
//初始化載入須載入的資料報列表
void
isilverlightloader.initcallback(system.collections.generic.list
packagesourcelist)
//**函式,用於標識開始載入資料報
void
isilverlightloader.downloadstartcallback(uri packagesource)
//**函式,用於標識載入進度發生變化
void
isilverlightloader.downloadprogresscallback(uri packagesource,
downloadprogresseventargs eventargs)
//**函式,用於標識載入資料報結束
void
isilverlightloader.downloadcompletecallback(uri packagesource,
downloadcompleteeventargs eventargs)
#endregion}}
第三步:在html頁面或asp:silverlight控制項設定初始載入介面與載入目標
該步就是在html或asp:silverlight控制項中加入對slloader.xap的呼叫,並將loadtarget.xap的名字做為引數傳遞給slloader.xap,以便載入,
可以看出,在建立整個專案的過程中,slloader.xap和loadtarget.xap並不需要打交道,只在hhtml或asp:silverlight控制項設定中才把二者聯絡起來。
" style="text-decoration: none;">
" alt="get microsoft
silverlight"
style="border-style: none" />
注意slloader.xap和loadtarget.xap的位置,此時把html檔案、slloader.xap和loadtarget.xap放在同一目錄下即可實現載入。
2.在asp:silverlight控制項中設定的方法
slloader.xap"
minimumversion="2.0.31005.0"
width="550" height="400"
initparameters="loadersourcelist=loadtarget.xap"
/>
與在html中通過object物件設定的原理相同。
3.如果此時編譯slloader.xap專案,可能通不過,提示缺少對system.runtime.serialization.json的引用,
為解決此問題,需要新增如下三個引用,參考文章:
1.system.runtime.serialization
2.system.servicemodel
3.system.servicemodel.web
至此,乙個載入功能製作完畢。
注意事項:
為了您的安全,請只開啟**可靠的**
開啟**
取消來自:
自定義 如何自定義協議
何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...
7 自定義異常 如何自定義異常???
自定義異常類時,需要繼承exception類或其子類 一般多繼承自exception或runtimeexception 如果繼承exception,則為檢查異常,必須處理 如果繼承runtimeexception,則為執行時異常,可以不處理 public class test public stat...
如何自定義控制項
1 自定義屬性的宣告與獲取 1.1分析需要的自定義屬性 1.2在res values attrs.xml中定義自定義屬性 1.3在layout的xml檔案中宣告使用 1.4在自定義view中的構造方法中獲取使用 2 測量onmeasure 2.1求出子檢視的個數 通過getchildcount 方法...