- Silverlight 教程
- Silverlight - 首頁
- Silverlight - 概述
- Silverlight - 環境設定
- Silverlight - 快速入門
- Silverlight - XAML 概述
- Silverlight 專案型別
- Silverlight - 固定佈局
- Silverlight - 動態佈局
- 受約束與不受約束
- Silverlight - CSS
- Silverlight - 控制元件
- Silverlight - 按鈕
- Silverlight - 內容模型
- Silverlight - ListBox
- Silverlight - 模板
- Silverlight - 可視狀態
- Silverlight - 資料繫結
- Silverlight - 瀏覽器整合
- Silverlight - 瀏覽器外執行
- Silverlight - 應用程式和資源
- Silverlight - 檔案訪問
- Silverlight - 檢視模型
- Silverlight - 輸入處理
- Silverlight - 隔離儲存
- Silverlight - 文字
- Silverlight - 動畫
- Silverlight - 影片和音訊
- Silverlight - 列印
- Silverlight 有用資源
- Silverlight - 快速指南
- Silverlight - 有用資源
- Silverlight - 討論
Silverlight 專案型別
如果您在 Visual Studio 中建立一個新專案,您將在對話方塊的右側窗格中看到四種類型的專案。它們是:
- Silverlight 應用程式
- Silverlight 類庫
- 類庫(可移植)
- Silverlight 導航應用程式
前兩種,**Silverlight 應用程式** 和 **Silverlight 類庫**,都足夠簡單明瞭。它們類似於經典 Windows 應用程式世界中的可執行檔案和 DLL。由於 Silverlight 應用程式的部署方式,兩者都構建 DLL。
從概念上講,Silverlight 應用程式專案構建一個可以執行的程式,而類庫專案構建一個旨在整合到其他應用程式中的庫。
如果您計劃構建多個應用程式並希望重用公共程式碼,則可以構建類庫。如果您計劃銷售其他人將在其應用程式中使用的控制元件,那麼庫也是需要構建的。
其他專案型別不太明顯,因此我們將在本章後面詳細介紹這些內容。
Silverlight Web 應用程式
Silverlight 應用程式是從 Web 下載的,因此您通常會將一個 Web 專案與 Silverlight 專案相關聯。Visual Studio 有幾個功能,旨在管理這些專案之間的關係。
讓我們再來看一個簡單的 Silverlight 應用程式專案示例。
**步驟 1** - 開啟 **Visual Studio**。單擊 **檔案** 選單,指向 **新建**,然後單擊 **專案**。
**步驟 2** - 將開啟一個 **新建專案** 對話方塊。在 **模板** 下,選擇 **Visual C#**,然後單擊 **Silverlight**。在右側窗格中,選擇 Silverlight 應用程式。
輸入專案名稱和硬碟驅動器上儲存專案的路徑。
Silverlight 專案本身只是構建 Silverlight 內容,而該內容只是構成整個 Web 應用程式的眾多資源之一。
單擊 **確定**。
**步驟 3** - 選中 **託管 Silverlight 應用程式複選框**。預設值是 ASP.NET Web 應用程式專案。
**步驟 4** - MS-Visual Studio 建立了兩個專案:Silverlight 專案和 ASP.NET Web 應用程式。現在,我們需要一個 ASP.NET Web 應用程式。您可以在 **解決方案資源管理器** 視窗中看到這一點,如下所示。
任何可以透過 HTTP 提供內容的伺服器端技術都可以,但這可是 **Visual Studio**,它理解 ASP.NET Web 技術,所以這就是它提供給我們的。
為了證明 Silverlight 不依賴於任何特定的伺服器端技術,讓我們刪除此 .aspx 檔案,只留下普通的靜態 HTML 檔案。
**步驟 5** - 右鍵單擊 FirstExampleTestpage.aspx。從選項列表中,單擊 **刪除**。
**步驟 6** - 將 **FirstExampleTestPage.html** 設定為 **啟動** 頁。
**MainPage.xaml** 檔案定義 Silverlight 內容的使用者介面。您可以直接編寫 XAML 程式碼,也可以使用 **工具箱** 拖放不同的 UI 元素。
**步驟 7** - 下面是在 **MainPage.xaml** 中的一段簡單程式碼,其中在 **StackPanel** 內定義了 **Button** 和 **TextBlock**。
<UserControl x:Class = "FirstExample.MainPage"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable = "d"
d:DesignHeight = "300" d:DesignWidth = "400">
<Grid x:Name = "LayoutRoot" Background = "White">
<StackPanel>
<TextBlock x:Name = "TextMessage" Text = "Hello World!"
Margin = "5"> </TextBlock>
<Button x:Name = "ClickMe" Click = "ClickMe_Click" Content = "Click
Me!" Margin = "5"> </Button>
</StackPanel>
</Grid>
</UserControl>
**步驟 8** - 此示例假設您已建立一個名為 **ClickMe_Click** 的事件處理方法。以下是它在 **MainPage.xaml.cs** 檔案中的樣子。
using System.Windows;
using System.Windows.Controls;
namespace FirstExample {
public partial class MainPage : UserControl {
public MainPage() {
InitializeComponent();
}
private void ClickMe_Click(object sender, RoutedEventArgs e) {
TextMessage.Text = "Congratulations! you have created your
first Silverlight Applicatoin";
}
}
}
**步驟 9** - Silverlight 應用程式可以在任何已安裝的瀏覽器上執行。
**步驟 10** - 當編譯並執行上述程式碼時,您將看到以下網頁。
Silverlight 導航應用程式
Silverlight 導航應用程式模板構建的專案類似於普通的 Silverlight 應用程式。這兩種專案型別之間沒有任何根本區別。導航模板只是包含一些您可以輕鬆新增的額外程式碼。顧名思義,它支援 Silverlight 應用程式內的類似 Web 的導航。
讓我們建立一個導航應用程式。
**步驟 1** - 在 **新建專案** 對話方塊的右側窗格中選擇 **Silverlight 導航應用程式**。
**步驟 2** - 按照您對 Silverlight Web 應用程式的操作設定。
**步驟 3** - 單擊 **確定** 按鈕。將開啟一個視窗,如下所示。
這些通常都有一個關聯的 Web 專案,所以我們將擁有其中一個。它建立了前面描述的兩個專案,但正如您所看到的,預設使用者介面看起來不那麼空白。
**步驟 4** - 它提供了一個應用程式 Chrome,包括一個導航欄。解決方案包含一些額外的檔案。此 **Styles** 檔案定義了 **Navigation** 欄的外觀。在這個 **Views** 資料夾中,我們看到幾個頁面,還有一個用於顯示錯誤的視窗。
如您所見,當您執行應用程式時,它會顯示一個包含一些佔位符內容的主頁。
**步驟 5** - 當您單擊 **關於** 按鈕時,它將導航到 **關於** 頁面。
重要的是,您可以使用瀏覽器 **後退** 和 **前進** 按鈕來追溯步驟。
通常情況下,當您這樣做時,Web 瀏覽器會從一個網頁跳轉到另一個網頁,但在這裡它不會。Silverlight 應用程式實際上並沒有解除安裝;它保持執行,只是顯示不同的內容。
因此,從瀏覽器的角度來看,它實際上都在一個網頁上。Silverlight 對導航按鈕做了一些技巧,以確保在導航時網頁不會解除安裝。