寫作緣起
WPF之What & Why
緻謝
第一部分 深入淺齣話XAML
第1章 XAML概覽 2
1.1 XAML是什麼 2
1.2 XAML的優點 3
第2章 從零起步認識XAML 5
2.1 新建WPF項目 5
2.2 剖析最簡單的XAML代碼 8
第3章 係統學習XAML語法 14
3.1 XAML文檔的樹形結構 14
3.2 XAML中為對象屬性賦值的語法 17
3.2.1 使用標簽的Attribute為對象屬性賦值 18
3.2.2 使用TypeConverter類將XAML標簽的Attribute與對象的Property進行映射 19
3.2.3 屬性元素 21
3.2.4 標記擴展(Markup Extensions) 24
3.3 事件處理器與代碼後置 26
3.4 導入程序集和引用其中的名稱空間 28
3.5 XAML的注釋 30
.3.6 小結 30
第4章 x名稱空間詳解 31
4.1 x名稱空間裏都有什麼 31
4.2 x名稱空間中的Attribute 32
4.2.1 x:Class 32
4.2.2 x: ClassModifier 33
4.2.3 x: Name 34
4.2.4 x:FieldModifier 36
4.2.5 x:Key 36
4.2.6 x:Shared 38
4.3 x名稱空間中的標記擴展 38
4.3.1 x:Type 38
4.3.2 x:Null 40
4.3.3 標記擴展實例的兩種聲明語法 42
4.3.4 x:Array 42
4.3.5 x:Static 44
4.4 XAML指令元素 45
4.5 小結 46
第5章 控件與布局 47
5.1 控件到底是什麼 47
5.2 WPF的內容模型 49
5.3 各類內容模型詳解 51
5.3.1 ContentControl族 51
5.3.2 HeaderedContentControl族 52
5.3.3 ItemsControl族 53
5.3.4 HeaderedItemsControl族 57
5.3.5 Decorator族 57
5.3.6 TextBlock和TextBox 58
5.3.7 Shape族元素 58
5.3.8 Panel族元素 58
5.4 UI布局(Layout) 59
5.4.1 布局元素 59
5.4.2 Grid 61
5.4.3 StackPanel 70
5.4.4 Canvas 71
5.4.5 DockPanel 72
5.4.6 WrapPanel 74
5.5 小結 75
第二部分遊曆WPF內部世界
第6章 深入淺齣話Binding 80
6.1 Data Binding在WPF中的地位 81
6.2 Binding基礎 82
6.3 Binding的源與路徑 87
6.3.1 把控件作為Binding源與Binding標記擴展 87
6.3.2 控製Binding的方嚮及數據更新 88
6.3.3 Binding的路徑(Path) 89
6.3.4 “沒有Path”的Binding 92
6.3.5 為Binding指定源(Source)的幾種方法 93
6.3.6 沒有Source的Binding——使用DataContext作為Binding的源 94
6.3.7 使用集閤對象作為列錶控件的ItemsSource 98
6.3.8 使用ADO.NET對象作為Binding的源 102
6.3.9 使用XML數據作為Binding的源 105
6.3.10 使用LINQ檢索結果作為Binding的源 109
6.3.11 使用ObjectDataProvider對象作為Binding的Source 111
6.3.12 使用Binding的RelativeSource 116
6.4 Binding對數據的轉換與校驗 120
6.4.1 Binding的數據校驗 120
6.4.2 Binding的數據轉換 123
6.5 MultiBinding(多路Binding) 128
6.6 小結 131
第7章 深入淺齣話屬性 132
7.1 屬性(Property)的來龍去脈 132
7.2 依賴屬性(Dependency Property) 136
7.2.1 依賴屬性對內存的使用方式 136
7.2.2 聲明和使用依賴屬性 137
7.2.3 依賴屬性值存取的秘密 143
7.3 附加屬性(Attached Properties) 148
第8章 深入淺齣話事件 155
8.1 近觀WPF的樹形結構 155
8.2 事件的來龍去脈 157
8.3 深入淺齣路由事件 160
8.3.1 使用WPF內置路由事件 160
8.3.2 自定義路由事件 164
8.3.3 RoutedEventArgs的Source與OriginalSource 169
8.3.4 事件也附加——深入淺齣附加事件 171
第9章 深入淺齣話命令 175
9.1 命令係統的基本元素與關係 176
9.1.1 命令係統的基本元素 176
9.1.2 基本元素之間的關係 176
9.1.3 小試命令 177
9.1.4 WPF的命令庫 180
9.1.5 命令參數 180
9.1.6 命令與Binding的結閤 182
9.2 近觀命令 183
9.2.1 ICommand接口與RoutedCommand 183
9.2.2 自定義Command 186
第10章 深入淺齣話資源 192
10.1 WPF對象級資源的定義與查找 192
10.2 且“靜”且“動”用資源 195
10.3 嚮程序添加二進製資源 196
10.4 使用Pack URI路徑訪問二進製資源 199
第11章 深入淺齣話模闆 202
11.1 模闆的內涵 202
11.2 數據的外衣DataTemplate 205
11.3 控件的外衣ControlTemplate 214
11.3.1 庖丁解牛看控件 215
11.3.2 ItemsControl的PanelTemplate 220
11.4 DataTemplate與ControlTemplate的關係與應用 221
11.4.1 DataTemplate與ControlTemplate的關係 221
11.4.2 DataTemplate與ControlTemplate的應用 223
11.4.3 尋找失落的控件 230
11.5 深入淺齣話Style 236
11.5.1 Style中的Setter 236
11.5.2 Style中的Trigger 237
第12章 繪圖和動畫 244
12.1 WPF繪圖 245
12.2 圖形的效果與濾鏡 263
12.2.1 簡單易用的BitmapEffect 263
12.2.2 豐富多彩的Effect 264
12.3 圖形的變形 267
12.3.1 呈現變形 268
12.3.2 布局變形 270
12.4 動畫 272
12.4.1 簡單獨立動畫 272
12.4.2 場景 285
· · · · · · (
收起)