Silverlight 專案型別



如果您在 Visual Studio 中建立一個新專案,您將在對話方塊的右側窗格中看到四種類型的專案。它們是:

  • Silverlight 應用程式
  • Silverlight 類庫
  • 類庫(可移植)
  • Silverlight 導航應用程式
Silverlight New Application
  • 前兩種,**Silverlight 應用程式** 和 **Silverlight 類庫**,都足夠簡單明瞭。它們類似於經典 Windows 應用程式世界中的可執行檔案和 DLL。由於 Silverlight 應用程式的部署方式,兩者都構建 DLL。

  • 從概念上講,Silverlight 應用程式專案構建一個可以執行的程式,而類庫專案構建一個旨在整合到其他應用程式中的庫。

  • 如果您計劃構建多個應用程式並希望重用公共程式碼,則可以構建類庫。如果您計劃銷售其他人將在其應用程式中使用的控制元件,那麼庫也是需要構建的。

  • 其他專案型別不太明顯,因此我們將在本章後面詳細介紹這些內容。

Silverlight Web 應用程式

Silverlight 應用程式是從 Web 下載的,因此您通常會將一個 Web 專案與 Silverlight 專案相關聯。Visual Studio 有幾個功能,旨在管理這些專案之間的關係。

讓我們再來看一個簡單的 Silverlight 應用程式專案示例。

**步驟 1** - 開啟 **Visual Studio**。單擊 **檔案** 選單,指向 **新建**,然後單擊 **專案**。

Create a Web-page

**步驟 2** - 將開啟一個 **新建專案** 對話方塊。在 **模板** 下,選擇 **Visual C#**,然後單擊 **Silverlight**。在右側窗格中,選擇 Silverlight 應用程式。

Silverlight Application

輸入專案名稱和硬碟驅動器上儲存專案的路徑。

Silverlight 專案本身只是構建 Silverlight 內容,而該內容只是構成整個 Web 應用程式的眾多資源之一。

單擊 **確定**。

**步驟 3** - 選中 **託管 Silverlight 應用程式複選框**。預設值是 ASP.NET Web 應用程式專案。

New Silverlight Application

**步驟 4** - MS-Visual Studio 建立了兩個專案:Silverlight 專案和 ASP.NET Web 應用程式。現在,我們需要一個 ASP.NET Web 應用程式。您可以在 **解決方案資源管理器** 視窗中看到這一點,如下所示。

Solution Explorer

任何可以透過 HTTP 提供內容的伺服器端技術都可以,但這可是 **Visual Studio**,它理解 ASP.NET Web 技術,所以這就是它提供給我們的。

為了證明 Silverlight 不依賴於任何特定的伺服器端技術,讓我們刪除此 .aspx 檔案,只留下普通的靜態 HTML 檔案。

**步驟 5** - 右鍵單擊 FirstExampleTestpage.aspx。從選項列表中,單擊 **刪除**。

FirstExampleTestpage aspx

**步驟 6** - 將 **FirstExampleTestPage.html** 設定為 **啟動** 頁。

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 應用程式可以在任何已安裝的瀏覽器上執行。

Silverlight Application Run

**步驟 10** - 當編譯並執行上述程式碼時,您將看到以下網頁。

Compiled Executed

Silverlight 導航應用程式

Silverlight 導航應用程式模板構建的專案類似於普通的 Silverlight 應用程式。這兩種專案型別之間沒有任何根本區別。導航模板只是包含一些您可以輕鬆新增的額外程式碼。顧名思義,它支援 Silverlight 應用程式內的類似 Web 的導航。

讓我們建立一個導航應用程式。

**步驟 1** - 在 **新建專案** 對話方塊的右側窗格中選擇 **Silverlight 導航應用程式**。

Silverlight Navigation Application

**步驟 2** - 按照您對 Silverlight Web 應用程式的操作設定。

Silverlight Web Application

**步驟 3** - 單擊 **確定** 按鈕。將開啟一個視窗,如下所示。

Silverlight Navigation App.Web

這些通常都有一個關聯的 Web 專案,所以我們將擁有其中一個。它建立了前面描述的兩個專案,但正如您所看到的,預設使用者介面看起來不那麼空白。

**步驟 4** - 它提供了一個應用程式 Chrome,包括一個導航欄。解決方案包含一些額外的檔案。此 **Styles** 檔案定義了 **Navigation** 欄的外觀。在這個 **Views** 資料夾中,我們看到幾個頁面,還有一個用於顯示錯誤的視窗。

Navigation Bar

如您所見,當您執行應用程式時,它會顯示一個包含一些佔位符內容的主頁。

Application Name

**步驟 5** - 當您單擊 **關於** 按鈕時,它將導航到 **關於** 頁面。

About page

重要的是,您可以使用瀏覽器 **後退** 和 **前進** 按鈕來追溯步驟。

通常情況下,當您這樣做時,Web 瀏覽器會從一個網頁跳轉到另一個網頁,但在這裡它不會。Silverlight 應用程式實際上並沒有解除安裝;它保持執行,只是顯示不同的內容。

因此,從瀏覽器的角度來看,它實際上都在一個網頁上。Silverlight 對導航按鈕做了一些技巧,以確保在導航時網頁不會解除安裝。

廣告
© . All rights reserved.