WPF 編程寶典 -- 使用 C# 2012 和 .NET 4.5 (第4版) (Pro WPF in C# 2012: Windows Presentation Foundation in .NET 4.5)
內容描述
<內容簡介>
由麥克唐納主編的《WPF編程寶典--使用C#2012和.NET4.5(第4版.NET開發經典名著)》全面講解WPF的實際工作原理,是一本WPF權威著作。在緊貼實用示例這一思想的引導下,列出實用提示,引導以專業的方式使用WPF。本書開篇介紹WPF基本概念以便為您奠定堅實的基礎,並將現有C#技能作為引用框架,然後討論高級概念,結合實際演示它們的用法,並重點強調了可由此節省的時間和人力成本。
《WPF編程寶典--使用C#2012和.NET4.5(第4版.NET開發經典名著)》特色:
理解WPF編程的基礎知識:從XAML到控件,乃至數據流。
開發實用的應用程序,帶您實際瞭解導航、本地化和開發。
探討WPF提供的高級用戶界面控件。
分析如何在WPF中管理文檔,涵蓋了文本佈局、打印和文檔打包等所有技術。
使用圖形和多媒體來增強應用程序。
目錄大綱
第Ⅰ部分基礎知識
第1章WPF概述
1.1Windows圖形演化
1.1.1DirectX:新的圖形引擎
1.1.2硬件加速與WPF
1.2WPF:高級API
1.3分辨率無關性
1.3.1WPF單位
1.3.2系統DPI
1.3. 3位圖和矢量圖形
1.4WPF體系結構
1.5WPF4.5
1.5.1WPF工具包
1.5.2VisualStudio2012
1.6小結16
第2章XAML
2.1理解XAML
2.1.1WPF之前的圖形用戶界面
2.1.2XAML變體
2.1.3XAML編譯
2.2 XAML基礎
2.2.1XAML名稱空間
2.2.2代碼隱藏類
2.3XAML中的屬性和事件
2.3.1簡單屬性與類型轉換器
2.3.2複雜屬性
2.3.3標記擴展
2.3.4附加屬性
2.3.5嵌套元素
2.3.6特殊字符與空白
2.3.7事件
2.3.8完整的EightBallAnswer示例
2.4使用其他名稱空間中的類型
2.5加載和編譯XAML
2.5.1只使用代碼
2.5.2使用代碼和未經編譯的XAML
2.5.3使用代碼和編譯過的XAML
2.5.4只使用XAML
2.6小結
第3章佈局
3.1理解WPF中的佈局
3.1.1WPF佈局原則
3.1.2佈局過程
3.1.3佈局容器
3.2使用StackPanel面板進行簡單佈局
3.2.1佈局屬性
3.2.2對齊方式
3.2.3邊距
3.2.4最小尺寸、最大尺寸以及顯式地設置尺寸
3.2.5Border控件
3.3WrapPanel和DockPanel面板
3.3.1WrapPanel面板
3.3.2DockPanel面板
3.3.3嵌套佈局容器
3.4Grid面板
3.4.1調整行和列
3.4.2佈局舍入
3.4 .3跨越行和列
3.4.4分割窗口
3.4.5共享尺寸組
3.4.6UniformGrid面板
3.5使用Canvas面板進行基於坐標的佈局
3.5.1Z順序
3.5.2lnkCanvas元素
3.6佈局示例
3.6.1列設置
3.6.2動態內容
3.6.3組合式用戶界面
3.7小結
第4章依賴項屬性
4.1理解依賴項屬性
4.1.1定義依賴項屬性
4.1.2註冊依賴項屬性
4.1.3添加屬性包裝器
4.1.4WPF使用依賴項屬性的方式
4.1.5共享的依賴項屬性
4.1.6附加的依賴項屬性
4.2屬性驗證
4.2.1驗證回調
4.2.2強制回調
4.3小結
第5章路由事件
5.1理解路由事件
5.1.1定義、註冊和封裝路由事件
5.1.2共享路由事件
5.1.3引發路由事件
5.1.4處理路由事件
5.2事件路由
5.2.1RoutedEventArgs類
5.2.2冒泡路由事件
5.2.3處理掛起的事件
5.2.4附加事件
5.2.5隧道路由事件
5.3WPF事件
5.3.1生命週期事件
5.3.2輸入事件
5.4鍵盤輸入
5.4.1處理按鍵事件
5.4.2焦點
5.4.3獲取鍵盤狀態
5.5鼠標輸入
5.5.1鼠標單擊
5.5.2捕獲鼠標
5.5.3鼠標拖放
5.6多點觸控輸入
5.6.1多點觸控的輸入層次
5.6.2原始觸控
5.6. 3操作
5.6.4慣性
5.7小結
第Ⅱ部分進一步研究WPF
第6章控件
6.1控件類
6.1.1背景畫刷和前景畫刷
6.1.2字體
6.1.3鼠標光標
6.2內容控件
6.2.1Content屬性
6.2.2對齊內容
6.2.3WPF內容原則
6.2.4標籤
6.2.5按鈕
6.2.6工具提示
6.3特殊容器
6.3.1ScrollViewer
6.3.2GroupBox
6.3.3TabItem
6.3.4Expander
6.4文本控件
6.4.1多行文本
6.4.2選擇文本
6.4 .3拼寫檢查
6.4.4PasswordBox
6.5列表控件
6.5.1ListBox
6.5.2ComboBox
6.6基於範圍的控件
6.6.1Slider
6.6.2ProgressBar
6.7日期控件
6.8小結
第7章Application類
7.1應用程序的生命週期
7.1.1創建Application對象
7.1.2派生自定義的Application類
7.1.3應用程序的關閉方式
7.1.4應用程序事件
7.2Application類的任務
7.2.1顯示初始界面
7.2.2處理命令行參數
7.2.3訪問當前Application對象
7.2.4在窗口之間進行交互
7.2.5單實例應用程序
7.3程序集資源
7.3.1添加資源
7.3.2檢索資源
7.3.3packURI
7.3.4內容文件
7.4本地化
7.4.1構建能夠本地化的用戶界面
7.4.2使應用程序為本地化做好準備
7.4.3管理翻譯過程
7.5小結
第8章元素綁定
8.1將元素綁定到一起
8.1.1綁定表達式
8.1.2綁定錯誤
8.1.3綁定模式
8.1.4使用代碼創建綁定
8.1.5使用代碼檢索綁定
8.1.6多綁定
8.1.7綁定更新
8.1.8綁定延遲
8.2綁定到非元素對象
8.2.1Source屬性
8.2.2RelativeSource屬性
8.2 .3DataContext屬性
8.3小結
第9章命令
9.1理解命令
9.2WPF命令模型
9.2.1ICommand接口
9.2.2RoutedCommand類
9.2.3RoutedUICommand類
9.2.4命令庫
9.3執行命令
9.3.1命令源
9.3.2命令綁定
9.3.3使用多命令源
9.3.4微調命令文本
9.3.5直接調用命令
9.3.6禁用命令
9.3.7具有內置命令的控件
9.4高級命令
9.4.1自定義命令
9.4.2在不同位置使用相同的命令
9.4. 3使用命令參數
9.4.4跟踪和翻轉命令
9.5小結
第10章資源
10.1資源基礎
10.1.1資源集合
10.1.2資源的層次
10.1.3靜態資源和動態資源
10.1.4非共享資源
10.1.5通過代碼訪問資源
10.1.6應用程序資源
10.1.7系統資源
10.2資源字典
10.2.1創建資源字典
10.2.2使用資源字典
10.2.3在程序集之間共享資源
10.3小結
第11章樣式和行為
11.1樣式基礎
11.1.1創建樣式對象
11.1.2設置屬性
11.1.3關聯事件處理程序
11.1.4多層樣式
11.1. 5通過類型自動應用樣式
11.2觸發器
11.2.1簡單觸發器
11.2.2事件觸發器
11.3行為
11.3.1獲取行為支持
11.3.2理解行為模型
11.3.3創建行為
11.3.4使用行為
11.3.5Blend中的設計時行為支持
11.4小結
第Ⅲ部分圖畫和動畫
第12章形狀、畫刷和變換
12.1理解形狀
12.1.1Shape類
12.1.2矩形和橢圓
12.1.3改變形狀的尺寸和放置形狀
12.1.4使用Viewbox控件縮放形狀
12.1.5直線
12.1.6折線
12.1.7多邊形
12.1.8直線線帽和直線交點
12.1.9點劃線
12.1.10像素對齊
12.2畫刷289
12.2.1SolidColorBrush畫刷
12.2 .2LinearGradientBrush畫刷
12.2.3RadialGradientBrush畫刷
12.2.4ImageBrush畫刷
12.2.5平舖的ImageBrush畫刷
12.2.6VisualBrush畫刷
12.2.7BitmapCacheBrush畫刷
12.3變換
12.3.1變換形狀
12.3.2變換元素
12.4透明
12.4.1使元素半透明
12.4.2透明掩碼
12.5小結
第13章幾何圖形和圖畫
13.1路徑和幾何圖形
13.1.1直線、矩形和橢圓圖形
13.1.2使用GeometryGroup組合形狀309
13.1.3使用CombinedGeometry融合幾何圖形
13.1 .4使用PathGeometry繪製曲線和直線
13.1.5微語言幾何圖形
13.1.6使用幾何圖形進行剪裁
13.2圖畫
13.2.1顯示圖畫
13.2.2導出插圖
13.3小結
第14章效果和可視化對象
14.1可視化對象
14.1.1繪製可視化對象
14.1.2在元素中封裝可視化對象
14.1.3命中測試
14.1.4複雜的命中測試
14.2效果
14.2.1BlurEffect類
14.2.2DropShadowEffect類
14.2.3ShaderEffect類
14.3WriteableBitmap類
14.3.1生成位圖
14.3.2寫入WriteableBitmap對象
14.3.3更高效的像素寫入
14.4小結
第15章動畫基礎
15.1理解WPF動畫
15.1.1基於時間的動畫
15.1.2基於屬性的動畫
15.2基本動畫
15.2.1Animation類
15.2.2使用代碼創建動畫
15.2.3同時發生的動畫
15.2.4動畫的生命週期
15.2.5Timeline類
15.3故事板
15.3.1故事板
15.3.2事件觸發器
15.3.3重疊動畫
15.3.4同步的動畫
15.3.5控製播放
15.3.6監視動畫進度
15.4動畫緩動
15.4.1使用緩動函數
15.4.2在動畫開始時應用緩動與在動畫結束時應用緩動
15.4.3緩動函數類
15.4.4創建自定義緩動函數
15.5動畫性能
15.5.1期望的幀率
15.5.2位圖緩存
15.6小結
第16章高級動畫
16.1動畫類型回顧
16.1.1動態變換
16.1.2動態改變畫刷
16.1.3動態改變像素著色器
16.2關鍵幀動畫
16.2.1離散的關鍵幀動畫
16.2.2緩動關鍵幀
16.2.3樣條關鍵幀動畫
16.3基於路徑的動畫
16.4基於幀的動畫
16.5使用代碼創建故事板
16.5.1創建主窗口
16.5.2創建Bomb用戶控件
16.5.3投彈
16.5.4攔截炸彈
16.5.5統計炸彈和清理工作
16.6小結
第Ⅳ部分模板和自定義元素
第Ⅴ部分數據
第Ⅵ窗口、頁面和富控件
第Ⅶ部分文檔和打印
第28章文檔793
第Ⅷ部分其他主題
作者介紹
Matthew MacDonald是一位作家、教育家,曾三次榮膺微軟MVP。
他迄今已經撰寫了十多本有關.NET編程的書籍,包括Pro Silverlight 5 in C#(由Apress於2012年出版)和Beginning ASP.NET 4.5 in C#(由Apress於2012年出版) 。
他還曾撰寫Your Brain: The Missing Manual(由O'Reilly Media於2008年出版)一書,該書講述如何最大限度地激發大腦潛能,出版後受到廣大讀者的熱烈歡迎。Matthew目前與妻子和兩個女兒居住在多倫多。