Silverlight應用程式的.NET專案結構
先讓我們從Silverlight應用程式的.NET專案結構開始,看一下這樣的一個專案中包含了些什麼檔案,這些檔案分別是用來做什麼的。瞭解這些內容有助於我們將來根據自己的需要製作更為複雜的專案內容。在開始介紹之前,請務必安裝Silverlight 1.1 Alpha Refresh。
無論是Silverlight 1.0還是1.1版本,一個Silverlight專案總是包含以下幾種檔案:
1、嵌入Silverlight應用程式的html檔案。
2、用來執行Silverlight應用程式載入工作的JavaScript檔案。
3、定義和描述應用程式介面的XAML檔案。
如果是.NET的專案,介面描述中所定義的新型別都包含在程式集(assembly)檔案中。
我們可以用Microsoft Expression Blend 2 (目前最新的預覽版本是September Preview)或者Visual Studio 2008 Beta2 (需安裝好Silverlight Tool Alpha)來建立一個新.NET的專案。建立成功後,我們就可以看到一個Silverlight的.NET專案包含了如下的目錄結構:
References目錄
檢視該目錄,我們可以看到其中包含了許多(.dll)檔案,這些檔案定義了專案中所引用的各託管型別。如果我們要使用其他自定義的型別,就可能需要手動新增包含該型別定義的.dll檔案。若Silverlight外掛中沒有包含專案所引用的某些程式集檔案,則應用程式使用者需要下載這些程式集檔案到本地。
Page.xaml
專案預設的主介面的XAML描述檔案。
Page.xaml.cs
每個xaml檔案之後都有一個對應的.NET語言檔案。由於我們建立的是C#專案,所以其對應的檔案為.cs檔案。這個檔案對.xaml檔案中的所引用的.NET型別做了定義。通過編譯之後,專案會生成程式集檔案,供.xaml檔案引用,且該程式集檔案會隨Silverlight應用程式一起下載到使用者本地。
Silverlight.js
該檔案包含了執行Silverlight應用程式之前所必需的各種操作,主要檢查使用者是否安裝了符合版本需求的Silverlight。如果沒有安裝,則Silverlight應用程式所在的頁面將會顯示圖示,提示使用者先安裝外掛。這裡我們不建議Silverlight的開發設計人員改變該.js檔案的內容。
TestPage.html(Blend 2中建立的檔名為Default.html)
該檔案為專案的預設主頁,檔案中引入了Silverlight的指令碼檔案來載入Silverlight應用程式。
TestPage.html.js(Blend 2中的檔名為Default_html.js)
該檔案中定義了TestPage.html中呼叫的CreatSilverlight()方法來載入Silverlight應用程式。
讓我們再具體的看一看其中一些檔案所包含的內容:
TestPage.html
以下是引用片段:
Silverlight Project Test Page <!--設定應用程式在html頁面中顯示的大小,也可以用百分比表示,設定為100%則應用程式為自適應大小-->.silverlightHost { width: 640px; height: 480px; }<!--以下的ID用來標示DIV,尤其當頁面總有多個Silverlight例項時,這個ID就成為了標示每個Silverlight應用程式的重要標誌-->createSilverlight();
TestPage.html.js
以下是引用片段:
//creatSilverlight函式用來執行載入Silverlight應用程式的操作及相關屬性function createSilverlight(){Silverlight.createObjectEx({//指定了初始化載入的應用程式頁面source: "Page.xaml", parentElement: document.getElementById("SilverlightControlHost"),id: "SilverlightControl",properties: {width: "100%",height: "100%",version: "1.1",enableHtmlAccess: "true"},events: {}});// 下面的函式是預設將鍵盤焦點集中在Silverlight應用程式上document.body.onload = function() {var silverlightControl = document.getElementById('SilverlightControl');if (silverlightControl)silverlightControl.focus();}}
Page.xaml
以下是引用片段:
<!--Canvas是一個包含了各種控制元件和元素的容器,每個Silverlight應用程式都有一個XAML的根檔案, 每個XAML檔案的根都是一個Canvas容器,且只能有一個作為根元素的Canvas容器-->
注意:由於Silverlight 1.1還處於Alpha版本,.NET語言中關於Silverlight的一些API可能會與將來的正式版本中有些出入,但是大多數基本的東西還是不變的。
無論是Silverlight 1.0還是1.1版本,一個Silverlight專案總是包含以下幾種檔案:
1、嵌入Silverlight應用程式的html檔案。
2、用來執行Silverlight應用程式載入工作的JavaScript檔案。
3、定義和描述應用程式介面的XAML檔案。
如果是.NET的專案,介面描述中所定義的新型別都包含在程式集(assembly)檔案中。
我們可以用Microsoft Expression Blend 2 (目前最新的預覽版本是September Preview)或者Visual Studio 2008 Beta2 (需安裝好Silverlight Tool Alpha)來建立一個新.NET的專案。建立成功後,我們就可以看到一個Silverlight的.NET專案包含了如下的目錄結構:
References目錄
檢視該目錄,我們可以看到其中包含了許多(.dll)檔案,這些檔案定義了專案中所引用的各託管型別。如果我們要使用其他自定義的型別,就可能需要手動新增包含該型別定義的.dll檔案。若Silverlight外掛中沒有包含專案所引用的某些程式集檔案,則應用程式使用者需要下載這些程式集檔案到本地。
Page.xaml
專案預設的主介面的XAML描述檔案。
Page.xaml.cs
每個xaml檔案之後都有一個對應的.NET語言檔案。由於我們建立的是C#專案,所以其對應的檔案為.cs檔案。這個檔案對.xaml檔案中的所引用的.NET型別做了定義。通過編譯之後,專案會生成程式集檔案,供.xaml檔案引用,且該程式集檔案會隨Silverlight應用程式一起下載到使用者本地。
Silverlight.js
該檔案包含了執行Silverlight應用程式之前所必需的各種操作,主要檢查使用者是否安裝了符合版本需求的Silverlight。如果沒有安裝,則Silverlight應用程式所在的頁面將會顯示圖示,提示使用者先安裝外掛。這裡我們不建議Silverlight的開發設計人員改變該.js檔案的內容。
TestPage.html(Blend 2中建立的檔名為Default.html)
該檔案為專案的預設主頁,檔案中引入了Silverlight的指令碼檔案來載入Silverlight應用程式。
TestPage.html.js(Blend 2中的檔名為Default_html.js)
該檔案中定義了TestPage.html中呼叫的CreatSilverlight()方法來載入Silverlight應用程式。
讓我們再具體的看一看其中一些檔案所包含的內容:
TestPage.html
以下是引用片段:
TestPage.html.js
以下是引用片段:
//creatSilverlight函式用來執行載入Silverlight應用程式的操作及相關屬性function createSilverlight(){Silverlight.createObjectEx({//指定了初始化載入的應用程式頁面source: "Page.xaml", parentElement: document.getElementById("SilverlightControlHost"),id: "SilverlightControl",properties: {width: "100%",height: "100%",version: "1.1",enableHtmlAccess: "true"},events: {}});// 下面的函式是預設將鍵盤焦點集中在Silverlight應用程式上document.body.onload = function() {var silverlightControl = document.getElementById('SilverlightControl');if (silverlightControl)silverlightControl.focus();}}
Page.xaml
以下是引用片段:
<!--Canvas是一個包含了各種控制元件和元素的容器,每個Silverlight應用程式都有一個XAML的根檔案, 每個XAML檔案的根都是一個Canvas容器,且只能有一個作為根元素的Canvas容器-->
注意:由於Silverlight 1.1還處於Alpha版本,.NET語言中關於Silverlight的一些API可能會與將來的正式版本中有些出入,但是大多數基本的東西還是不變的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-594739/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 應用程式結構
- .NET雲原生應用實踐(一):從搭建專案框架結構開始框架
- HarmonyOS:應用程式包結構(1)Stage模型應用程式包結構模型
- 架構系列:ASP.NET 專案結構搭建架構ASP.NET
- 小程式的專案結構設計
- 含有SilverLight專案的程式碼重用
- §1.2 Android專案結構及“Hello World”應用解析Android
- .net 2.0 Nullable泛型結構的應用Null泛型
- 構建安全的ASP.NET應用程式ASP.NET
- Flutter應用的Clean架構示例專案Flutter架構
- .NET CLI簡單教程和專案結構
- Java和.Net在做BS結構專案的比較Java
- Golang 扁平專案程式碼結構Golang
- Net通用應用的專案框架腳手架框架
- 專案總結之應用XP
- 專案結構
- 深入淺出Dotnet Core的專案結構變化
- AspNetCoreRateLimit應用於MVC專案求助NetCoreMITMVC
- 一個金融應用專案的總結 (轉)
- Maven建立Web應用程式專案MavenWeb
- 樹結構的應用
- Django中型專案的目錄結構和一個應用建立啟動示例Django
- 如何構建「大型 Node.js 專案」的專案結構?Node.js
- ASP.NET 微軟Web應用示例程式走廊-專案解決方案ASP.NET微軟Web
- .net 知新:【3】.net 5 專案結構說明和釋出部署
- 為什麼應該要做好專案結構的規劃
- ASP.NET專案開發中應用程式異常處理淺析ASP.NET
- 幾種設計良好結構以提高.NET應用效能的方法
- ThinkPHP修改專案結構PHP
- SSM(十) 專案重構-網際網路專案的Maven結構SSMMaven
- Kubernetes 多叢集在開源專案 KubeSphere 的應用
- Android SDK簡明教程:應用程式結構Android
- .NET 應用架構指導應用架構
- Makefile 專案構建最佳化原理與應用
- Electron桌面應用程式從建立專案、啟動專案到打包程式的詳細過程
- SaaS架構:應用服務、應用結構設計架構
- 聊聊.net應用程式的Docker映象Docker
- .net中應用程式域的概念