日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Silverlight:应用程序模型

發布時間:2024/1/17 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Silverlight:应用程序模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Silverlight 應用程序模型提供以下功能來供托管應用程序使用:

一個激活系統,它使得 Silverlight 插件能夠下載您的應用程序在啟動時需 要的應用程序包和任何外部庫程序集。

Application 類,該類封裝基于 Silverlight 的應用程序通常要求的服務, 例如生命周期事件通知和 Silverlight 插件的接口。

應用程序擴展性系統,此系統封裝某些應用程序需要的其他服務,例如,自定 義的數據訪問層。

資源管理系統,這包括 URI 引用和回退機制、按需資源加載、樣式和模板共 享以及全球化支持。

通過這些功能,您可以實現在啟動時間與資源可用性之間提供很好平衡的、構 造良好的應用程序結構。

例如,您可以實現一個應用程序,它提供對少量初始頁面集合的立即訪問,但 同時按需下載其他頁面。或者,您可以提供大量的初始下載并且顯示一個初始屏 幕以維護響應性。如果您提供大量的初始下載,則可以使用應用程序庫緩存來減 少后續的下載次數。最后,您可以實現一個自定義導航系統來作為應用程序擴展 服務。

應用程序結構

Silverlight 激活系統使您能夠指定要隨您的應用程序提供的程序集和資源文 件。生成系統將指定的文件捆綁到一個應用程序包中,該包是具有 .xap 文件擴 展名的一個壓縮的 zip 文件。

您可以使用應用程序庫緩存來減少應用程序包的大小。在這種情況下,配置用 于緩存的程序集將壓縮成單獨的 zip 文件。這些程序集稱為 ExternalPart 程序 集。

該應用程序包包括一個清單文件,該文件標識您的應用程序可使用的所有程序 集。這包括:

應用程序包中的程序集。

ExternalPart 程序集,這些是在啟動時下載然后緩存的。

您在啟動之后可能下載的程序集。

該應用程序包至少還必須包括此程序集以及您的應用程序類(Silverlight 插 件實例化這些類)。在您的應用程序啟動時,它可以執行顯示用戶界面或檢索附 加資源之類的任務。

您必須決定在應用程序包中要部署哪些程序集和資源文件(如 ExternalPart 程序集)以及在啟動后要檢索哪些程序集和資源文件。一個常見的工作流就是將 所有內容都放置于該應用程序包中,然后隨著您的應用程序變大衡量下載和啟動 時間。在延遲變得較長時,應考慮提供初始屏幕、使用應用程序庫緩存并在啟動 后檢索某些文件。

應用程序服務

Application 類提供以下類別的服務:

應用程序 Startup 和 Exit 事件。

與 Silverlight 插件和宿主網頁的交互。

資源管理。

集中化異常處理。

基于 Silverlight 的所有應用程序都必須包括從 Application 派生的單個類 。您的應用程序類通常將添加基于 XAML 的、應用程序范圍的資源,并且處理 Startup 事件以提供某一用戶界面。Silverlight 插件按照在宿主網頁中配置的 方式在其客戶端區域中顯示該用戶界面。

您可以使用 Startup 事件初始化應用程序及其用戶界面。例如,您可以基于 Silverlight 插件配置參數、URL 參數或從獨立存儲檢索的用戶設置,指定初始 的應用程序狀態。

還可以使用 Startup 事件開始附加程序集和資源文件的異步下載。 Application 類提供用于從程序集包或已下載的 zip 文件提取資源的幫助器方法 。

應用程序擴展服務

借助于 Application 類,您可以通過填充其 ApplicationLifetimeObjects 屬性來添加更多服務。可以在應用程序 XAML 中或在應用程序構造函數中使用過 程代碼來實現上述這一點。

ApplicationLifetimeObjects 屬性是實現 IApplicationService 和 IApplicationLifetimeAware(可選)的對象列表。這兩個接口提供對應用程序生 存期的多個階段的訪問。IApplicationService 使您能夠初始化和清理您的服務 。IApplicationLifetimeAware 擴展 IApplicationService,并使您能夠在各服 務之間以及在服務與應用程序代碼之間實現更復雜的依賴項。

資源

Silverlight 支持以下類型的資源:

XAML 資源,例如可在多個用戶界面元素之間共享的樣式和模板。

資源文件,例如可按 URI 引用的圖像和視頻。您可以將資源文件嵌入在程序 集中,將它們單獨包括在應用程序包中,或者從網絡檢索它們。

嵌入在程序集中或通過已本地化的附屬程序集提供的資源字符串和其他值。

通常,短語"資源文件"可表示補充您的應用程序程序集的任何文件。這可以包 括包含其他類型的資源(例如本地化字符串或 XAML 文件)的數據文件或庫程序 集。

您可以按 URI 引用某些資源文件,例如圖像。它們可以是可從 Web 上的任何 地方檢索文件的絕對 URI,也可以是相對 URI。Silverlight 對于相對 URI 使用 回退機制,因此,您無需更改代碼即可更改部署某些文件的位置。

您可以通過使用異步下載過程,只從源站點檢索某些文件類型,例如 zip 文 件和程序集。您可以使用 Application 類從 zip 文件提取資源,并且可以使用 AssemblyPart 類來加載程序集。

導航

Silverlight 提供若干選項在您的應用程序中進行導航,或者用于導航應用程 序外部的資源。

對于應用程序導航,您可以使用 Frame 和 Page 控件。此框架用作頁面控件 的容器,有助于進行頁面導航。每頁都包含內容,您可以根據需要添加很多頁面 來向用戶表示內容。在任一時刻,框架只顯示一個頁面的內容。對于外部導航, 您可以在用戶界面中提供普通的超鏈接,或者通過 HTML DOM 執行編程導航。

初始屏幕

Silverlight 提供初始屏幕支持,以便您可以自定義在托管應用程序的下載和 啟動期間的默認體驗。默認的初始屏幕在短暫的延遲后顯示一個簡單的旋轉動畫 。

如果您的應用程序包要求較長的下載和啟動時間,則最好用顯示下載進度的初 始屏幕替換默認的初始屏幕。您還可以使用初始屏幕描述您的應用程序或提供說 明、信用或免責聲明。

Silverlight 初始屏幕是通過使用 JavaScript API 實現的。這使得 Silverlight 插件可以立即顯示您的初始屏幕,甚至是在加載 Silverlight 托管 運行時之前。您可以通過在您的宿主網頁中使用瀏覽器解釋的 JavaScript,以編 程方式更改初始屏幕。

總結

以上是生活随笔為你收集整理的Silverlight:应用程序模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。