第1篇 Silverlight入門與開發(fā)環(huán)境
第1章 Silverlight基礎
1.1 Silverlight概述
1.1.1 Silverlight是什么
1.1.2 Silverlight能做什么
1.1.3 跨平臺的用戶體驗
1.1.4 可擴展的編程模型和協(xié)作工具
1.1.5 高質量、低成本的多媒體技術
1.1.6 結合數(shù)據(jù)、服務器和服務
1.2 Silverlight實例概覽
1.2.1 多媒體播放器
1.2.2 演示網站
1.3 下載和安裝Silverlight
1.3.1 Silverlight版本介紹
1.3.2 Silverlight 1.0簡介
1.3.3 Silverlight 1.1的新特性
1.3.4 客戶端Silverlight運行時
1.3.5 Silverlight開發(fā)工具和SDK
1.4 第一個Silverlight應用程序
1.4.1 創(chuàng)建Silverlight項目
1.4.2 編寫XAML代碼
1.4.3 使用Blend 2設計動畫
1.4.4 編寫后臺代碼控制動畫
1.5 Silverlight項目文件結構
1.5.1 Web頁面
1.5.2 XAML與代碼后置文件
1.5.3 CreateSilverlight.js創(chuàng)建Silverlight插件
1.5.4 Silverlight.js輔助文件
1.5.5 項目文件的關系
1.6 小結
第2章 Silverlight技術概述
2.1 位圖和矢量圖
2.1.1 位圖
2.1.2 矢量圖
2.2 什么是WPF
2.3 LINQ簡介
2.3.1 什么是語言集成查詢(LINQ)
2.3.2 LINQ示例
2.3.3 簡單查詢
2.3.4 條件查詢
2.3.5 聯(lián)合查詢
2.3.6 聚合查詢
2.4 Silverlight架構總覽
2.4.1 Silverlight平臺
2.4.2 核心呈現(xiàn)框架
2.4.3 Silverlight的.NET框架特性
2.4.4 附加的Silverlight編程特性
2.5 小結
第3章 Silverlight工具集合
3.1 Visual Studio 2008集成化開發(fā)環(huán)境
3.1.1 開發(fā)多個.NET框架版本應用程序
3.1.2 JavaScript的智能提示和調試功能
3.1.3 增強的Web設計時支持
3.1.4 對.NET Framework新項目的支持
3.2 Microsoft Expression設計工具簡介
3.2.1 Microsoft Expression Blend 2交互式設計工具
3.2.2 Microsoft Expression Design圖形設計工具
3.3 小結
第2篇 Silverlight設計元素
第4章 XAML基礎
4.1 XAML基本語法
4.1.1 什么是XAML
4.1.2 定義XAML對象
4.1.3 XAML屬性
4.1.4 特性(Attribute)語法
4.1.5 使用屬性(Property)元素語法
4.1.6 使用內容元素語法定義屬性
4.1.7 使用隱式集合語法設置屬性
4.1.8 使用附加屬性
4.1.9 XAML與代碼后置文件
4.2 編寫XAML
4.2.1 使用Visual Studio 2008 開發(fā)XAML
4.2.2 使用Microsoft Express Blend可視化編寫XAML
4.3 小結
第5章 Silverlight對象模型
5.1 Silverlight模型分類
5.1.1 文檔對象模型
5.1.2 Silverlight對象模型
5.1.3 對象模型的混合
5.2 Silverlight對象定位
5.2.1 畫布對象
5.2.2 定位路徑、幾何圖形和其他形狀
5.2.3 變換
5.2.4 z軸順序
5.3 小結
第6章 Silverlight圖形元素
6.1 Canvas對象
6.1.1 Canvas對象設置
6.1.2 x:Name屬性
6.1.3 xmlns和xmlns:x屬性
6.1.4 Loaded屬性
6.1.5 x:Class屬性
6.1.6 Width和Hight屬性
6.1.7 Background屬性
6.1.8 Canvas.Left, Canvas.Top, Canvas.Zindex屬性
6.1.9 Opacity屬性
6.1.10 向Canvas中添加圖形元素
6.1.11 嵌套Canvas
6.1.12 拖動畫布示例
6.2 文本和字體
6.2.1 TextBlock元素
6.2.2 文本字體設置
6.2.3 格式化文本
6.2.4 文本前景填充
6.2.5 文本換行
6.2.6 文本修飾
6.2.7 文字變換效果
6.2.8 使用旋轉變換
6.2.9 使用縮放變換
6.2.10 使用傾斜變換
6.2.11 使用移動變換
6.2.12 中文文本的顯示
6.3 Brushes畫刷
6.3.1 SolidColorBrush單色畫刷
6.3.2 LinearGradientBrush線性漸變畫刷
6.3.3 RadialGradientBruash放射漸變畫刷
6.3.4 ImageBrush圖像畫刷
6.3.5 VideoBrush影像畫刷
6.4 圖像元素
6.4.1 Image元素介紹
6.4.2 透明和遮罩效果
6.4.3 圖像的裁切
6.5 圖形對象Shapes
6.5.1 圖形對象簡介
6.5.2 繪制直線
6.5.3 繪制矩形
6.5.4 繪制多邊形
6.5.5 繪制橢圓
6.5.6 繪制多線形
6.5.7 使用路徑工具
6.6 幾何圖形
6.6.1 幾何圖形簡介
6.6.2 簡單幾何圖形
6.6.3 路徑幾何圖形
6.6.4 幾何圖形的組合
6.6.5 小型幾何語言
6.7 Silverlight變換特性
6.7.1 圖形變換簡介
6.7.2 RotateTransform旋轉變換
6.7.3 ScaleTransform縮放變換
6.7.4 SkewTransform扭曲漸變
6.7.5 TranslateTransform移動變換
6.7.6 MatrixTransform矩陣變換
6.7.7 TransformGroup變換組合
6.8 小結
第7章 多媒體
7.1 MediaElement對象
7.1.1 簡單的多媒體播放
7.1.2 常用MediaElement屬性介紹
7.1.3 交互式多媒體播放
7.1.4 全屏模式
7.1.5 時間線標志
7.1.6 在Silverlight中使用播放列表
7.2 Microsoft Expression Encoder簡介
7.2.1 使用Microsoft Expression Encoder創(chuàng)建時間線標志
7.2.2 使用Microsoft Expression Encoder創(chuàng)建腳本命令
7.3 小結
第8章 動畫
8.1 動畫特性
8.1.1 Silverlight動畫簡介
8.1.2 一個簡單的動畫示例
8.1.3 動畫類型
8.1.4 動畫的基本屬性
8.1.5 基本類型動畫
8.1.6 DoubleAnimation動畫
8.1.7 ColorAnimation動畫
8.1.8 PointAnimation動畫
8.1.9 添加多個動畫
8.2 交互式動畫制作
8.2.1 Storyboard故事板對象
8.2.2 一個簡單的交互式動畫示例
8.2.3 將故事板作為資源
8.3 關鍵幀動畫制作
8.3.1 關鍵幀動畫技術簡介
8.3.2 關鍵幀動畫類型
8.3.3 DoubleAnimationUsingKeyFrames關鍵幀動畫
8.3.4 ColorAnimationUsingKeyFrames關鍵幀動畫
8.3.5 PointAnimationUsingKeyFrames關鍵幀動畫
8.3.6 關鍵幀動畫的基本屬性
8.3.7 關鍵幀屬性
8.3.8 內插方法簡介
8.3.9 Linear線性內插方法
8.3.10 Discrete離散內插方法
8.3.11 Splined樣條內插方法
8.4 小結
第9章 案例學習:電子時鐘
9.1 設計時鐘
9.1.1 時鐘結構
9.1.2 設計時鐘外框
9.1.3 設計時鐘傾斜面
9.1.4 設計時鐘指針
9.1.5 添加時鐘指針動畫
9.1.6 編程控制指針
9.2 小結
第10章 Microsoft Expression Blend 2設計工具
10.1 基本操作
10.1.1 用戶界面介紹
10.1.2 繪制基本圖形
10.2 添加動畫
10.2.1 創(chuàng)建故事板
10.2.2 添加關鍵幀
10.2.3 添加動畫控制代碼
10.3 添加多媒體元素
10.3.1 添加MediaElement對象
10.3.2 添加多媒體裁切效果
10.4 小結
第3篇 Silverlight開發(fā)
第11章 使用.NET開發(fā)Silverlight應用程序
11.1 創(chuàng)建一個Silverlight項目
11.1.1 設計圖形元素
11.1.2 添加提示文本
11.1.3 編寫后臺代碼
11.1.4 Silverlight程序集介紹
11.2 如何調試Silverlight應用程序
11.3 處理異常和錯誤
11.3.1 添加應用程序異常
11.3.2 XAML代碼的錯誤處理
11.4 小結
第12章 創(chuàng)建交互式應用程序
12.1 在x:Class中創(chuàng)建事件處理
12.2 處理鍵盤和鼠標事件
12.2.1 鼠標事件
12.2.2 MouseEventArgs參數(shù)
12.2.3 鼠標動畫示例-簡單相冊
12.2.4 事件冒泡機制
12.2.5 鼠標托動編程
12.2.6 拖動編程示例
12.3 處理鍵盤事件
12.3.1 添加鍵盤事件
12.3.2 KyeboardEventArgs參數(shù)
12.3.3 鍵盤事件示例
12.4 使用Silverlight SDK中的控件
12.4.1 Button按鈕控件
12.4.2 RepeatButton按鈕控件
12.4.3 GripThumb按鈕控件
12.4.4 Thumb按鈕控件
12.4.5 按鈕控件繼承層次結構
12.4.6 Slider拖動條控件
12.4.7 ScrollBar滾動條控件
12.4.8 ScrollViewer滾動查看器控件
12.4.9 ListBox列表框控件
12.5 創(chuàng)建Silverlight用戶控件
12.5.1 創(chuàng)建Silverlight類庫項目
12.5.2 定義控件外觀
12.5.3 定義控件屬性
12.5.4 添加控件事件
12.5.5 測試自定義控件
12.6 動態(tài)創(chuàng)建控件
12.6.1 使用.NET代碼創(chuàng)建控件
12.6.2 動態(tài)繪制矩形示例
12.6.3 從XAML代碼中創(chuàng)建控件
12.6.4 鼠標跟隨示例
12.7 小結
第13章 使用Downloader對象
13.1 Downloader對象簡介
13.1.1 下載包
13.1.2 創(chuàng)建和初始化Downloader對象
13.1.3 顯示下載進度條
13.1.4 接收Downloader對象內容
13.1.5 Downloader對象的屬性和方法
13.2 使用Downloader對象下載多個文件
13.3 自定義進度條示例
13.3.1 圓形進度顯示
13.3.2 進度條代碼實現(xiàn)
13.4 小結
第14章 XML文件處理
14.1 獲取遠程XML
14.2 使用XmlReader讀取XML文件
14.2.1 XmlReader對象簡介
14.2.2 讀取XML元素
14.2.3 讀取XML屬性
14.3 使用XmlWriter寫入XML文件
14.3.1 XmlWriter簡介
14.3.2 寫入元素
14.3.3 寫入屬性
14.3.4 XmlWriter綜合示例
14.4 用XamlReader類動態(tài)加載XAML代碼
14.5 XML文件和XamlReader示例程序
14.5.1 獲取XML文件內容
14.5.2 讀取和寫入XML
14.5.3 加載XAML文檔
14.6 小結
第15章 客戶端與服務器端通信
15.1 Silverlight中應用Web服務
15.1.1 創(chuàng)建Web服務
15.1.2 創(chuàng)建Silverlight應用程序
15.1.3 Silverlight項目與Web服務的部署
15.2 實例體驗:基于Web服務的RSS閱讀器
15.2.1 創(chuàng)建Web服務
15.2.2 使用Xlinq解析XML文件
15.2.3 創(chuàng)建Silverlight項目
15.3 小結
第16章 Silverlight與HTML的交互
16.1 在托管代碼中訪問HTML DOM元素
16.1.1 獲取瀏覽器信息
16.1.2 使用HtmlPage類
16.1.3 使用HtmlDocument類訪問DOM元素
16.1.4 使用HtmlElement類
16.1.5 為DOM元素綁定事件
16.2 Silverlight與HTML交互示例
16.2.1 XAML代碼定義
16.2.2 定義DOM元素事件
16.2.3 編寫托管代碼繪制螺旋
16.3 JavaScript代碼與C#托管代碼的交互
16.3.1 使用托管代碼調用JavaScript代碼
16.3.2 使用JavaScript代碼訪問托管代碼
16.4 自動調整畫布尺寸的示例
16.4.1 處理瀏覽器的尺寸變化
16.4.2 調整Silverlight插件的尺寸
16.5 小結
第17章 Silverlight文件處理
17.1 使用隔離存儲區(qū)
17.1.1 初始化隔離存儲區(qū)
17.1.2 在隔離存儲區(qū)中操作文件
17.2 使用Silverlight上傳文件
17.2.1 OpenFileDialog對象簡介
17.2.2 打開文本文件
17.2.3 選擇多個文件
17.2.4 使用Web Services上傳文件
17.2.5 獲取服務器端文件列表
17.3 小結
第18章 Silverlight與ASP.NET的集成
18.1 Microsoft ASP.NET Futures簡介
18.1.1 安裝Microsoft ASP.NET Futures
18.1.2 使用ASP.NET中的XAML服務器端控件
18.1.3 使用Media服務器控件
18.2 在ASP.NET中動態(tài)創(chuàng)建XAML
18.2.1 使用內聯(lián)XAML創(chuàng)建動態(tài)界面
18.2.2 在Server端處理Silverlight中的事件
18.2.3 在Server端動態(tài)創(chuàng)建XAML代碼片斷
18.3 小結
第4篇 Silverlight實戰(zhàn)
第19章 相冊系統(tǒng)實戰(zhàn)
19.1 設計相冊系統(tǒng)外觀
19.1.1 設計圖片的顯示
19.1.2 設計圖片的動畫
19.1.3 添加相冊標題
19.2 編寫C#代碼
19.2.1 加載圖片
19.2.2 編寫鼠標事件代碼
19.3 小結
第20章 視頻播放器
20.1 設計用戶界面
20.1.1 設計播放器背景
20.1.2 設計播放列表窗口
20.1.3 設計播放窗體
20.1.4 定義播放列表折疊動畫
20.2 編寫控制代碼
20.2.1 定義狀態(tài)枚舉
20.2.2 定義Page_Loaded事件
20.2.3 使用SetupListbox方法關聯(lián)播放列表事件
20.2.4 ListBoxItem類
20.2.5 播放列表滾動條
20.2.6 播放列表的折疊編程
20.2.7 加載多媒體文件
20.2.8 調整播放進度條
20.2.9 播放器控制按鈕
20.3 小結
第21章 SilverlightSurface電子圖片夾剖析
21.1 程序結構分析
21.2 圖片夾用戶控件
21.2.1 用戶控件XAML設計
21.2.2 用戶控件程序代碼
21.3 Silverlight項目結構
21.4 小結
第22章 Silverlight統(tǒng)計圖表
22.1 創(chuàng)建統(tǒng)計圖表用戶控件
22.1.1 在VS 2008中創(chuàng)建Silverlight用戶控件
22.1.2 設計用戶界面
22.1.3 定義圖表屬性
22.1.4 控件加載時初始化圖表數(shù)據(jù)
22.1.5 布局圖表
22.1.6 加載圖表數(shù)據(jù)
22.1.7 繪制圖表
22.2 使用圖表控件
22.2.1 創(chuàng)建Silverlight項目
22.2.2 添加圖表控件
22.2.3 將Silverlight項目添加到ASP.NET中
22.3 小結
第23章 Silverlight UI控件示例
23.1 UI控件基礎
23.1.1 類層次結構
23.1.2 ControlBase基類
23.1.3 ButtonBase按鈕控件基類
23.1.4 ScreenBase屏幕顯示控件基類
23.2 實現(xiàn)UI控件
23.2.1 實現(xiàn)SimpleButton按鈕控件
23.2.2 實現(xiàn)簡單的模式對話框控件
23.2.3 實現(xiàn)向導控件
23.2.4 實現(xiàn)主屏幕控件
23.3 使用Silverlight UI控件
23.4 小結
第24章 基于TreeView控件的相冊
24.1 項目基礎結構
24.1.1 類層次結構
24.1.2 ControlBase控件基類
24.1.3 ButtonBase與PanelBase抽象基類
24.1.4 PanelChildrenCollection面板子元素集合類
24.2 實現(xiàn)TreeView控件
24.2.1 實現(xiàn)折疊按鈕控件
24.2.2 實現(xiàn)TreeNode控件
24.2.3 TreeNodeCollection節(jié)點集合類
24.2.4 實現(xiàn)TreeView控件
24.3 實現(xiàn)AnimatedFlowPanel動畫面板控件
24.3.1 AnimatedFlowPanel面板介紹
24.3.2 實現(xiàn)AnimatedFlowPanel控件
24.4 實現(xiàn)WallPaperViewer圖片查看器
24.4.1 設計WallPaperViewer外觀
24.4.2 實現(xiàn)縮略圖按鈕ThumbnailButton控件
24.4.3 管理和加載圖片
24.4.4 編寫WallPaperViewer后置代碼
24.5 小結
第25章 打氣球游戲
25.1 程序結構分析
25.2 Balloon用戶控件實現(xiàn)
25.2.1 用戶控件XAML設計
25.2.2 用戶控件程序代碼
25.3 Silverlight項目分析
25.3.1 用戶界面設計
25.3.2 程序代碼設計
25.4 小結