由於 Silverlight 已經內建於 Visual Studio 2010 ,因此你可以直接在其中建立所需的 Silverlight 專案,不過這只是初步而已,真正的應用並沒有那麼簡單,你至少必須先瞭解它的結構,學習的過程會比較順利一點。
在你建立一個 Silverlight 專案之後,假設名稱為 HelloSL ,你會看如右圖般有點複雜的方案結構,其中包含兩個專案,Silverlight 的內容是 HelloSL ,而另外一個 HelloSL.Web 則是方便你測試 Silverlight 的 ASP.NET 網站專案。
其中以箭頭標示的三個地方,是你一開始必須特別注意的,列舉如下:
- MainPage.xaml:Silverlight 的 XAML 內容檔案。
- ClientBin:Silverlight 專案編譯完成所產生的 .xap 檔案配置的位置。
- HelloSLTestPage.aspx:預設含入 .xap 檔,測試所編寫的 MainPage.xaml 效果。
從專案的架構來看,對於初學者而言,Silverlight 怎麼樣都不會是一種簡單的技術,你很難短時間快速的上手,不過,若是能夠理解其中的關鍵,會比較容易進入狀況。
現在將 HelloSLTestPage.aspx 的程式碼開啟,你會看到以下的畫面內容(點圖可放大):
其中紅色框線的部份,是將你設計好的 Silverlight 嵌入網頁中的所需的 object 標籤程式碼,請特別注意其中有一小段以藍色框線標示的內容,如下:
param value="ClientBin/HelloSL.xap" name="source"
這一行是名稱為 source 的參數,它在網頁載入瀏覽器的時候,去 value 屬性所指定的 ClientBin 資料夾裏面,找到 HelloSL.xap 這個檔案,也就是你所撰寫的 Silverlight 專案編譯之後的內容,當然,主要是專案中的 XAML 檔案,將其解壓縮,然後由 Silverlight 執行期針對其中的內容進行解譯,在 object 所規範的區域中執行 Silverlight 專案的內容。
透過這種方式,我們可以將設計好的 Silverlight 應用程式,任意的嵌入 ASP.NET 網頁中執行,從這個過程中,你也可以發現,Silverlight 相當適合作為網頁中的元件,當你需要高度互動的介面,在網頁中規劃出合適的位置,透過 object 標籤,將設計好的 xap 給嵌入進來即可。
下一篇,我們進一步來談談 xap 這個東西。