<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Silverlight 的導航框架與動態加載

      1. Silverlight 3 的導航框架簡介

      Silverlight 提供了內置的導航框架,可以比較輕松的在 Silverlight Page 之間進行切換,并且可以和瀏覽器的前進、后退按鈕集成,下面的代碼可以簡單的說明其用法:

      image

      這段代碼很簡單,通過設置 HyperLinkButton 的 NavigationUri 和 TargetName 兩個屬性,可以讓指定的 Frame 去加載指定的 Silverlight Page 。

      2. 常見的動態加載解決方案

      當 Silverlight 項目比較大的時候, 很自然的會想到將 Silverlight 項目拆分成多個 xap 文件,進行按需加載,這個實現起來也不難。通常的做法是使用 WebClient 或者 HttpWebRequest ,向服務端請求所需的 xap 文件,然后通過 xap 壓縮包內的 AppManifest.xaml 文件,獲取到 xap 文件內部打包的 dll 文件信息,在客戶端通過反射進行加載。

      3. 導航框架與動態加載相結合時遇到的問題,原因與解決方法

      如果將這兩者結合起來,利用 Sliverlight 內置的導航框架來加載動態加載的 xap 文件內部的 Silverlight Page ,對應用程序的開發和用戶體驗都是有很大幫助的:對開發方面來說,不用反射加載,而是使用 Silverlight 內置的導航框架,可以節省很多代碼;對用戶體驗方面,按需加載能減少初始加載文件的大小,減少等待時間,使用導航框架可以和瀏覽器的前進、后退按鈕緊密集成,用戶體驗更佳。

      但是,在 Silverlight 3 目前的版本中, Frame 控件似乎不能直接加載動態加載的 Silverlight Page , 不管是通過設置 HyperLinkButton 的 NavigateUri 屬性,還是通過調用 Frame.Navigate(Uri source) 方法,都會出現相同的異常, 看下面代碼:

      var xap = "http://localhost:2704/AppSL.Web/ClientBin/TestSLApp.xap";
      // LoadPackage 是加載 xap 的擴展方法
      Deployment.Current.LoadPackage(xap, () => {
         var uri = new Uri("/TestSLApp;component/MainPage.xaml", UriKind.Relative);
         this.WidgetFrame.Navigate(uri);
      });

      當執行至 WidgetFrame.Navigate(uri) 時,會出現下面的異常:

      image

      是什么原因導致這個異常呢? 通過 Reflector 察看 PageResourceContentLoader ,發現加載 x:Class 的是這個 GetTypeFromAnyLoadedAssembly 方法:

      image 

      這個方法只是遍歷 Deployment.Current.Part 去尋找所需要的類型,并沒有去遍歷動態加載的文件, 當然,這里也不可能去遍歷。

      看到這里,終于找到異常出現的原因了,由于這個方法是私有并且是靜態的,無法進行重寫,只能通過其它途徑來解決。我想到的解決方法是,新建一個 Silverlight Page, 然后刪除對應的代碼文件,刪除 xaml 視圖的 x:Code 信息,如下圖所示:

      image

      最后的解決方案就是, 要做一個引導的文件,這個文件必須是一個獨立的 xaml 文件,沒有代碼文件,沒有 x:Class 信息,這樣就不會被編譯成新的類型,自然可以被 Silverlight 的導航框架加載了。

      最后說一句,不知道 Silverlight 以后的版本會不會考慮動態加載的問題呢? 據我所知, Flex 已經內置了模塊動態加載的機制了。

      posted @ 2009-10-24 15:05  張志敏  閱讀(4456)  評論(7)    收藏  舉報
      主站蜘蛛池模板: 日韩精品亚洲精品第一页| 18av千部影片| 色综合天天综合天天更新| 久久婷婷综合色一区二区| 兴文县| 一亚洲一区二区中文字幕| 人妻系列无码专区免费| 蜜臀av久久国产午夜| 欧美福利在线| 亚洲一区二区三上悠亚| 亚洲日韩久热中文字幕| 日韩精品三区二区三区| 久久亚洲av成人无码软件| 日韩丝袜亚洲国产欧美一区| 天天做天天爱夜夜爽导航| 无码一区二区三区免费| 国产台湾黄色av一区二区| 国产成人一区二区三区免费| 无码少妇一区二区三区免费| 国产卡一卡二卡三免费入口| 性欧美VIDEOFREE高清大喷水| 中国极品少妇xxxxx| 欧美人成精品网站播放| 中文字幕无码久久精品| 天堂8中文在线最新版在线| 国产一区精品在线免费看| 精品视频不卡免费观看| 国内女人喷潮完整视频| 蜜臀在线播放一区在线播放| 国产肉丝袜在线观看| bt天堂新版中文在线| 久久伊99综合婷婷久久伊| 九九热免费精品视频在线| 日韩有码中文字幕国产| 国产精品精品一区二区三| 激情 小说 亚洲 图片 伦| 婷婷五月综合丁香在线| 中文字幕国产精品自拍| 武邑县| 亚洲顶级裸体av片| 国产精品成人免费视频网站京东|