游刃于Silverlight的技術(shù)與藝術(shù)之間,讓你的Web與眾不同
書 名:《Web璀璨:Silverlight應(yīng)用技術(shù)完全指南》 叢書名:網(wǎng)站開發(fā)專家 作 者:張馳清,王均,呂玉強編著 ISBN 978-7-121-08618-2 出版社:電子工業(yè)出版社 印 次:2009年5月第1次印刷
內(nèi)容簡介:
Silverlight是微軟最新的Web用戶界面技術(shù),能夠跨瀏覽器、跨平臺運行。借助該技術(shù)可以創(chuàng)建豐富用戶體驗的富互聯(lián)網(wǎng)應(yīng)用(Rich Internet Application,簡稱RIA)。Silverlight使用XAML來創(chuàng)建用戶界面元素,比如圖形、漸變、動畫等,另外Silverlight通過C#或Visual Basic編寫程序邏輯,控制呈現(xiàn)形式。 全書以循序漸進(jìn)的方式,全方位介紹Silverlight中的各項技術(shù)特性,包括基礎(chǔ)的Silverlight技術(shù)體系架構(gòu)、項目開發(fā)環(huán)境、XAML語法、Expression Blend使用技巧、圖形繪制、Silverlight布局機制、形狀變換、制作動畫、事件機制、內(nèi)建控件的使用方法、音/視頻播放、數(shù)據(jù)綁定機制、樣式與模板、創(chuàng)建自定義控件、使用獨立存儲、LINQ查詢語句、處理XML和JSON數(shù)據(jù)、使用WCF、ASMX服務(wù)訪問服務(wù)器、DeepZoom技術(shù)等。在介紹技術(shù)特性的同時,本書還配有豐富的實例和大量截圖,通過這些基礎(chǔ)的實例和直觀的截圖,可以幫助讀者快速掌握開發(fā)技巧。 相信讀者可以通過本書的學(xué)習(xí),掌握Silverlight的開發(fā)技巧,并將其應(yīng)用到自己的Web開發(fā)工作中。本書適合Web應(yīng)用程序開發(fā)人員和RIA應(yīng)用程序設(shè)計人員閱讀,也可作為高等院校相關(guān)專業(yè)師生的教學(xué)參考書。
前言:
互聯(lián)網(wǎng)的前端Web開發(fā)技術(shù),在過去的十幾年里經(jīng)歷了快速的變革。目前雖然傳統(tǒng)的ASP、PHP、JSP等動態(tài)頁面技術(shù)仍普遍應(yīng)用于各種網(wǎng)站的開發(fā),但隨著用戶對于用戶體驗和界面效果的要求越來越高,傳統(tǒng)技術(shù)已不能滿足具有豐富用戶體驗、富媒體網(wǎng)絡(luò)應(yīng)用程序的開發(fā)需要。
隨著技術(shù)的發(fā)展,出現(xiàn)了AJAX、Flash等RIA技術(shù),使得開發(fā)人員能創(chuàng)建出功能更為豐富的Web應(yīng)用程序,甚至已經(jīng)能夠提供與桌面軟件類似的用戶體驗。這些技術(shù)使Web應(yīng)用程序能夠更加動態(tài)地響應(yīng)用戶輸入,例如,加載數(shù)據(jù)時只需要刷新界面的一部分,并不需要重新加載所有內(nèi)容,從而加快了用戶界面的響應(yīng),進(jìn)一步改善了用戶體驗。
雖然AJAX與Flash等技術(shù)已經(jīng)得到了廣泛的普及,但依舊存在著一些不足。例如AJAX沒有形成行業(yè)標(biāo)準(zhǔn)的技術(shù)規(guī)范,并且缺少功能強大的開發(fā)環(huán)境支持,過于靈活的特性使得開發(fā)人員在調(diào)試時往往很難理清頭緒。而掌握Flash技術(shù)需要學(xué)習(xí)ActionScript語言并且使用新的開發(fā)環(huán)境,不能使用自己熟悉的編程語言進(jìn)行開發(fā),這對不少開發(fā)人員來說也是一個不小的門檻。
2007年,微軟推出了Silverlight技術(shù),與Flash類似,Silverlight也是一種跨瀏覽器、跨平臺的開發(fā)技術(shù),為網(wǎng)絡(luò)帶來具有豐富體驗與交互的Web應(yīng)用程序。它的顯著不同在于它能用很多.NET程序員常用的語言(如C#、Visual Basic.NET、Ruby或Python)編程。對運行在Macintosh和Windows上的主流瀏覽器,Silverlight應(yīng)用程序提供了統(tǒng)一而豐富的用戶體驗。通過Silverlight瀏覽器插件,使得用戶界面、視頻、交互性內(nèi)容,以及其他各種應(yīng)用能良好地融合在一起。
Silverlight還為Web應(yīng)用程序開發(fā)人員和設(shè)計人員提供了一種全新的合作模式。過去,設(shè)計人員會使用設(shè)計工具來設(shè)計網(wǎng)站和用戶體驗,但在實現(xiàn)這些設(shè)計時,開發(fā)人員需要依照設(shè)計方案重新進(jìn)行開發(fā)。而在Silverlight提供的合作模式中,設(shè)計人員可以使用專用設(shè)計工具Expression Blend構(gòu)建所需的用戶界面與交互,并將其表示為XAML,然后開發(fā)人員可以直接使用XAML創(chuàng)建Silverlight應(yīng)用程序。因此,兩者的合作會比以往任何時候都更加緊密,可以更快速地創(chuàng)建有豐富用戶體驗的Web應(yīng)用程序,有效地縮短開發(fā)周期。
本書將立足于Silverlight技術(shù)本身,全面介紹Silverlight技術(shù)特點,配合豐富的實例講解技術(shù)的原理和使用方法,幫助讀者快速掌握開發(fā)Silverlight應(yīng)用程序的方法。
預(yù)備知識
本書涉及Silverlight應(yīng)用程序開發(fā)的部分,需要讀者對C#編程有一定的了解,如果讀者對這方面知識還不熟悉,可以先閱讀相關(guān)介紹C#編程基礎(chǔ)的書籍。
軟件需求
要使用本書中的示例,需要安裝以下幾款軟件:
- Silverlight 2 RTM或更新版本,您可以從 http://silverlight.net 免費下載。
- 操作系統(tǒng):Windows XP或更新版本,Mac OS X或更新版本。
- 瀏覽器:Internet Explorer 6.0或更新版本,F(xiàn)irefox 1.5或更新版本,Safari 2.0.4或更新版本。
- 開發(fā)工具:Microsoft Visual Studio 2008 SP1 或更新版本。
- 設(shè)計工具:Microsoft Expression Studio 2或更新版本(包含Expression Blend、Expression Design、Expression Encoder)。
目錄:
第1章 Silverlight入門 1 介紹了Silverlight的概況,并介紹了Silverlight 2中新增的特性與優(yōu)秀的Silverlight實例網(wǎng)站,最后使用一個實例詳細(xì)演示了如何制作一個Silverlight Hello world程序。
1.1 Silverlight簡介 1 1.1.1 開發(fā)內(nèi)容豐富的界面 1 1.1.2 支持跨瀏覽器、跨平臺 3 1.1.3 強大的開發(fā)工具 3 1.1.4 豐富的基礎(chǔ)類庫與網(wǎng)絡(luò)數(shù)據(jù)支持 4 1.2 Silverlight 2的新特性 4 1.2.1 Silverlight 1的特性 5 1.2.2 Silverlight 2的主要新增特性 5 1.3 優(yōu)秀Silverlight網(wǎng)站實例 6 1.3.1 Windows Vista模擬網(wǎng)站 6 1.3.2 Hard Rock memorabilia網(wǎng)站 8 1.3.3 更多Silverlight技術(shù)的應(yīng)用演示 10 1.4 下載并安裝Silverlight 10 1.4.1 安裝Silverlight客戶端(Runtime) 11 1.4.2 安裝Visual Studio 2008 11 1.4.3 安裝Expression Blend 2 12 1.5 實現(xiàn)一個Hello World應(yīng)用程序 13 1.6 小結(jié) 16
第2章 Silverlight開發(fā)入門 17 介紹了Silverlight的技術(shù)體系架構(gòu)及各組成部分的詳細(xì)特性,分析了一個典型的Silverlight的工程是由哪些文件組成的,最后介紹了將Silverlight嵌入到ASP.NET與HTML網(wǎng)頁中的方法。
2.1 Silverlight的技術(shù)體系架構(gòu) 17 2.1.1 Silverlight技術(shù)體系介紹 17 2.1.2 Silverlight .NET框架 18 2.1.3 核心展現(xiàn)框架 19 2.1.4 其他Silverlight開發(fā)特性 19 2.2 使用Visual Studio 2008開發(fā)Silverlight 20 2.2.1 Visual Studio開發(fā)Silverlight的優(yōu)勢 20 2.2.2 Silverlight項目的文件組成 22 2.2.3 在ASP.NET網(wǎng)站中嵌入Silverlight項目 23 2.2.4 在普通HTML頁面中嵌入 Silverlight項目 24 2.3 小結(jié) 26
第3章 使用Expression Blend 27 介紹了Blend的特點與安裝方法,詳細(xì)介紹了Blend軟件的整體布局及各個面板的功能,最后通過另一個實例演示了Blend是如何與Visual Studio協(xié)同工作的。
3.1 初識Blend 27 3.1.1 Blend的特點 27 3.1.2 安裝Blend 28 3.1.3 使用Blend新建一個Silverlight的Hello World 28 3.2 Blend工作環(huán)境介紹 30 3.2.1 工具箱 31 3.2.2 控件庫 31 3.2.3 工作區(qū) 32 3.2.4 對象與時間軸面板 33 3.2.5 狀態(tài)面板 34 3.2.6 項目選項卡 34 3.2.7 屬性選項卡 35 3.2.8 資源選項卡 36 3.2.9 編譯結(jié)果面板 36 3.2.10 設(shè)置Blend工作環(huán)境 36 3.3 Blend與Visual Studio 2008協(xié)同工作 38 3.3.1 使用Blend編輯Visual Studio新建的工程 38 3.3.2 使用Blend添加事件響應(yīng) 41 3.4 小結(jié) 44
第4章 Silverlight與XAML 45 介紹了可擴展應(yīng)用程序標(biāo)記語言XAML的基本概念、語法。
4.1 什么是XAML 45 4.1.1 一個Silverlight XAML文件實例 45 4.1.2 常見XAML對象元素的種類 47 4.1.3 設(shè)置對象元素的屬性 49 4.2 XAML深入研究 51 4.2.1 使用內(nèi)容元素(content element)語法 52 4.2.2 使用省略集合語法 52 4.2.3 XAML內(nèi)容屬性值獨立設(shè)置 54 4.2.4 XAML中的大小寫和空白 55 4.2.5 支持類型轉(zhuǎn)換的屬性值 55 4.3 小結(jié) 56
第5章 形狀與筆刷 57 介紹了繪制形狀、應(yīng)用筆刷創(chuàng)建效果的方法,并且分別討論了以XAML和C# 繪制形狀及應(yīng)用筆刷的方法。
5.1 形狀(Shape) 57 5.1.1 橢圓(Ellipse) 57 5.1.2 矩形(Rectangle) 60 5.1.3 線段(Line) 62 5.1.4 路徑(Path) 64 5.1.5 多邊形(Polygon)/ 連續(xù)線段(Polyline) 65 5.2 筆刷(Brush) 66 5.2.1 使用純色(Solid Colors)進(jìn)行繪制 67 5.2.2 使用線性漸變筆刷(Linear Gradients)進(jìn)行繪制 69 5.2.3 漸變軸(Gradient Axis) 71 5.2.4 使用徑向漸變筆刷(Radial Gradients)進(jìn)行繪制 73 5.2.5 使用圖像筆刷(ImageBrush)進(jìn)行繪制 75 5.2.6 使用視頻筆刷(VideoBrush)進(jìn)行繪制 77 5.3 小結(jié) 77
第6章 布局對象 79 介紹如何在Silverlight中使用布局對象控制對象元素(如形狀、文本、圖像等)的位置,還介紹了如何控制Silverlight應(yīng)用程序在HTML等網(wǎng)頁中的定位。
6.1 畫布(Canvas)布局對象 80 6.1.1 在XAML中使用Canvas 80 6.1.2 在C#中使用Canvas 82 6.2 網(wǎng)格(Grid)布局對象 83 6.2.1 在XAML中使用Grid 83 6.2.2 通過RowDefinition與ColumnDefinition動態(tài)定義Grid的行列尺寸 85 6.2.3 在C#中使用Grid 86 6.3 堆棧面板(StackPanel)容器對象 88 6.3.1 在XAML中使用StackPanel 88 6.3.2 在C#中使用StackPanel 89 6.4 邊距與對齊 90 6.4.1 在XAML中使用Alignment屬性 91 6.4.2 在C#中使用Alignment屬性 93 6.4.3 使用Margin(邊距)屬性 95 6.5 Silverlight在網(wǎng)頁中的定位 96 6.5.1 局部嵌入Silverlight 96 6.5.2 全屏顯示Silvelight 97 6.6 小結(jié) 98
第7章 變換 99 討論了使用變換類為對象設(shè)置形變的方法。
7.1 位移變換(TranslateTransform) 100 7.1.1 在XAML中使用TranslateTransform 100 7.1.2 在C#中使用TranslateTransform 101 7.2 旋轉(zhuǎn)變換(RotateTransform) 102 7.2.1 在XAML中使用RotateTransform 102 7.2.2 在C# 中使用RotateTransform 103 7.3 縮放變換(ScaleTransform) 104 7.3.1 在XAML中使用ScaleTransform 104 7.3.2 在C#中使用ScaleTransform 106 7.4 扭曲變換(SkewTransform) 107 7.4.1 在XAML中使用SkewTransform 107 7.4.2 在C# 中使用SkewTransform 108 7.5 變換組合(TransformGroup) 109 7.6 小結(jié) 110
第8章 動畫 111 詳細(xì)介紹Silverlight關(guān)鍵幀動畫系統(tǒng),以及如何控制動畫的播放。
8.1 動畫實例:使橢圓淡入或淡出 111 8.1.1 在Blend中創(chuàng)建故事板與動畫 111 8.1.2 在XAML中直接編輯故事板與動畫 114 8.1.3 為故事板添加響應(yīng)事件 115 8.2 Silverlight動畫介紹 118 8.2.1 常規(guī)動畫類的公共屬性 118 8.2.2 使用DoubleAnimation動畫 119 8.2.3 使用ColorAnimation動畫 121 8.2.4 使用PointAnimation動畫 123 8.3 使用Silverlight關(guān)鍵幀動畫 126 8.3.1 使用DoubleAnimationUsingKeyFrames關(guān)鍵幀動畫 126 8.3.2 使用ColorAnimationUsingKeyFrames關(guān)鍵幀動畫 129 8.3.3 使用PointAnimationUsing KeyFrames關(guān)鍵幀動畫 132 8.4 小結(jié) 134
第9章 事件 137 討論Silverlight中的事件機制,以鼠標(biāo)事件和鍵盤事件為例,介紹如何處理事件,以及如何為控件創(chuàng)建自定義的事件。
9.1 事件概述 137 9.1.1 添加事件響應(yīng)的方式 138 9.1.2 使用事件數(shù)據(jù) 139 9.1.3 在托管代碼中移除事件響應(yīng) 140 9.2 鼠標(biāo)事件響應(yīng) 142 9.2.1 常用鼠標(biāo)事件 142 9.2.2 鼠標(biāo)事件數(shù)據(jù) 142 9.2.3 事件的路由 144 9.2.4 實例:拖放效果的實現(xiàn) 148 9.3 鍵盤事件響應(yīng) 153 9.3.1 常用的鍵盤事件 153 9.3.2 使用鍵盤事件的參數(shù) 154 9.3.3 鍵盤事件示例 154 9.4 小結(jié) 157
第10章 控件 159 逐一介紹了Silverlight內(nèi)建的控件的使用方法,討論了這些控件的常用屬性和常用事件的使用方法,最后介紹了如何創(chuàng)建用戶控件,并為用戶控件添加自定義屬性和事件。
10.1 控件使用簡介 160 10.1.1 創(chuàng)建控件 160 10.1.2 設(shè)置控件屬性 160 10.1.3 給控件添加事件響應(yīng) 163 10.2 內(nèi)建控件的使用 164 10.2.1 TextBlock(文本)控件 164 10.2.2 TextBox(文本框)控件 171 10.2.3 Button(按鈕)控件 172 10.2.4 HyperlinkButton(超鏈接按鈕)控件 174 10.2.5 RepeatButton(重復(fù)按鈕)控件 175 10.2.6 CheckBox(復(fù)選框)控件 176 10.2.7 RadioButton(單選按鈕)控件 179 10.2.8 Slider(滑塊)控件 180 10.2.9 ScrollBar(滾動條)控件 182 10.2.10 ComboBox控件 184 10.2.11 TabControl(選項卡)控件 185 10.2.12 ListBox(列表)控件 187 10.2.13 Calendar(日歷)控件 189 10.2.14 DatePicker(日期選擇)控件 193 10.2.15 DataGrid(數(shù)據(jù)表格)控件 194 10.2.16 Popup(彈出框)控件 204 10.2.17 ToolTip(提示工具)控件 210 10.2.18 ProgressBar(進(jìn)度條)控件 213 10.2.19 PasswordBox(密碼框)控件 213 10.3 用戶控件 214 10.3.1 創(chuàng)建用戶控件 214 10.3.2 定制控件外觀 216 10.3.3 用戶控件屬性 217 10.3.4 用戶控件事件 218 10.3.5 使用用戶控件 220 10.4 小結(jié) 222
第11章 多媒體 223 探討了Silverlight中對多媒體的支持,以及如何創(chuàng)建一個視頻播放器控制視頻數(shù)據(jù)的播放,此外還介紹了如何使用Microsoft Expression Encoder創(chuàng)建多媒體數(shù)據(jù)。
11.1 最簡單的Silverlight多媒體應(yīng)用程序 223 11.2 MediaElement對象 224 11.2.1 MediaElement的屬性和方法 224 11.2.2 支持的多媒體文件格式 225 11.2.3 音量控制 226 11.2.4 對左/右聲道的控制 229 11.2.5 控制MediaElement對象 231 11.3 時間線 234 11.3.1 使用Windows Media文件編輯器創(chuàng)建時間線 234 11.3.2 使用Expression Encoder創(chuàng)建時間線 234 11.3.3 動態(tài)創(chuàng)建時間線標(biāo)記 239 11.4 創(chuàng)建播放器常見的問題 241 11.4.1 播放進(jìn)度顯示及拖曳 242 11.4.2 播放列表 245 11.4.3 全屏顯示 246 11.4.4 為多媒體文件加入載入進(jìn)度 248 11.5 播放器綜合實例 251 11.5.1 控制面板 252 11.5.2 完整的播放器代碼 256 11.6 小結(jié) 268
第12章 數(shù)據(jù)綁定 269 數(shù)據(jù)綁定,介紹數(shù)據(jù)綁定的概念,使用數(shù)據(jù)綁定的方法和場景,如何綁定到集合數(shù)據(jù)源,如何在數(shù)據(jù)綁定中使用值轉(zhuǎn)換,以及如何對數(shù)據(jù)進(jìn)行校驗。
12.1 數(shù)據(jù)綁定概述 269 12.2 創(chuàng)建數(shù)據(jù)綁定 270 12.2.1 在XAML中創(chuàng)建數(shù)據(jù)綁定 270 12.2.2 在代碼中創(chuàng)建數(shù)據(jù)綁定 276 12.2.3 數(shù)據(jù)綁定模式 277 12.2.4 通知更新 278 12.3 綁定到集合 283 12.3.1 使用ObservableCollection 283 12.3.2 使用數(shù)據(jù)模板控制呈現(xiàn) 287 12.3.3 實現(xiàn)主從關(guān)系視圖 290 12.4 使用值轉(zhuǎn)換器 294 12.5 數(shù)據(jù)的校驗 296 12.6 小結(jié) 300
第13章 樣式與模板 301 介紹了如何使用樣式定制控件的外觀,同時探討了樣式的應(yīng)用域,講解了模板的概念及模板中的狀態(tài)管理,介紹了如何定義模板中的狀態(tài),以及狀態(tài)間的過渡,如何使用模板改變控件的外觀和狀態(tài)間的過渡。
13.1 樣式(Style) 301 13.1.1 使用樣式 301 13.1.2 樣式的應(yīng)用域 305 13.1.3 使用Blend創(chuàng)建樣式 306 13.2 模板(Template) 308 13.2.1 使用模板 309 13.2.2 狀態(tài)管理 311 13.2.3 模板綁定(TemplateBinding) 319 13.3 小結(jié) 326
第14章 高級開發(fā)技巧 327 探討使用獨立存儲IsolatedStorage保存應(yīng)用程序數(shù)據(jù)和創(chuàng)建自定義控件等高級開發(fā)技巧。
14.1 自定義控件 327 14.1.1 創(chuàng)建自定義控件 327 14.1.2 自定義依賴屬性 333 14.2 獨立存儲IsolatedStorage 337 14.2.1 使用獨立存儲 338 14.2.2 增加配額 342 14.3 小結(jié) 343
第15章 訪問數(shù)據(jù)與服務(wù)器 345 介紹了使用Silverlight與服務(wù)器端通信時經(jīng)常使用的數(shù)據(jù)格式,這些格式包括XML、JSON等,以及它們序列化和反序列化的方法,接下來還介紹了Silverlight所支持的Web通信服務(wù),這些服務(wù)包括WebClient、ASMX服務(wù)、WCF服務(wù)等,以及如何使用這些服務(wù)實現(xiàn)客戶端與服務(wù)器端之間的數(shù)據(jù)交換。
15.1 使用LINQ 345 15.2 使用XML數(shù)據(jù) 349 15.2.1 使用XmlReader解析XML數(shù)據(jù)流 349 15.2.2 使用LINQ解析XML數(shù)據(jù) 353 15.3 使用JSON 356 15.3.1 將對象序列化JSON字符串 357 15.3.2 將JSON字符串反序列化為對象 359 15.4 使用WebClient 360 15.4.1 使用DownloadStringAsync方法下載數(shù)據(jù) 361 15.4.2 使用OpenReadAsync方法下載數(shù)據(jù) 365 15.5 使用ASMX服務(wù) 368 15.5.1 創(chuàng)建ASMX服務(wù) 368 15.5.2 訪問ASMX服務(wù) 373 15.6 使用WCF服務(wù) 375 15.6.1 創(chuàng)建WCF服務(wù) 375 15.6.2 訪問WCF服務(wù) 379 15.7 小結(jié) 382
第16章 Deep Zoom 383 介紹了Deep Zoom的技術(shù)特點,介紹如何使用Deep Zoom Composer創(chuàng)建一個含有Deep Zoom效果的Silverlight應(yīng)用程序,同時探討了DeepZoom效果中的關(guān)鍵類MultiScaleImage的常用屬性和常用方法。
16.1 Deep Zoom簡介 383 16.2 創(chuàng)建Deep Zoom應(yīng)用程序 385 16.3 在Silverlight中應(yīng)用Deep Zoom 398 16.3.1 MultiScaleImage控件 398 16.3.2 在Silverlight中應(yīng)用Deep Zoom 398 16.4 小結(jié) 402
第17章 綜合實例 403 以目前流行的網(wǎng)上商店為例,綜合利用前面各章節(jié)講述的內(nèi)容,介紹如何建立一個簡單的在線商店系統(tǒng)。
17.1 開發(fā)前的準(zhǔn)備 403 17.1.1 開發(fā)環(huán)境 403 17.1.2 網(wǎng)上商店體系結(jié)構(gòu) 404 17.1.3 網(wǎng)上商店系統(tǒng)功能描述 405 17.2 系統(tǒng)設(shè)計 407 17.2.1 界面設(shè)計 407 17.2.2 實體設(shè)計 409 17.3 系統(tǒng)開發(fā) 409 17.3.1 使用Visual Studio 2008建立項目 410 17.3.2 顯示模塊開發(fā) 413 17.3.3 后臺模塊開發(fā) 424 17.4 發(fā)布并部署項目 457 17.4.1 在操作系統(tǒng)中安裝IIS(Internet Information Server) 457 17.4.2 設(shè)置IIS 459 17.4.3 發(fā)布Silverlight項目 462 17.5 小結(jié) 463
本文鏈接:http://www.95time.cn/news/book/2009/6815.asp
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
|