第1章 WPF概述 1
1.1 理解Windows图形 1
1.1.1 DirectX:新的图形引擎 1
1.1.2 硬件加速与WPF 2
1.2 WPF:高级API 4
1.2.1 分辨率无关性 5
1.2.2 WPF的演化 9
1.2.3 Windows窗体将继续保留 11
1.2.4 DirectX也将继续保留 12
1.2.5 Silverlight 12
1.3 WPF体系结构 13
1.4 结束语 17
第2章 XAML 19
2.1 理解XAML 20
2.1.1 WPF之前的图形用户界面 20
2.1.2 XAML变体 21
2.1.3 XAML编译 22
2.2 XAML基础 22
2.2.1 XAML名称空间 23
2.2.2 后台代码类 24
2.3 XAML中的属性和事件 26
2.3.1 简单属性与类型转换器 27
2.3.2 复杂属性 29
2.3.3 标记扩展 30
2.3.4 附加属性 31
2.3.5 嵌套元素 32
2.3.6 特殊字符与空白字符 35
2.3.7 事件 36
2.3.8 完整的Eight Ball示例程序 38
2.4 使用其他名称空间中的类型 38
2.5 加载和编译XAML 40
2.5.1 只使用代码 41
2.5.2 使用代码和未编译的XAML 43
2.5.3 使用代码和编译过的XAML 44
2.5.4 只使用XAML 46
2.6 结束语 47
第3章 Application类 48
3.1 应用程序的生命周期 48
3.1.1 创建Application对象 48
3.1.2 派生一个自定义的
Application类 49
3.1.3 应用程序的关闭方式 51
3.1.4 应用程序事件 51
3.2 Application类的任务 53
3.2.1 处理命令行参数 54
3.2.2 访问当前Application对象 55
3.2.3 在窗口之间进行交互 56
3.2.4 单实例应用程序 57
3.3 结束语 63
第4章 布局 64
4.1 理解WPF中的布局 64
4.1.1 WPF布局原则 65
4.1.2 布局过程 66
4.1.3 布局包容器 66
4.2 使用StackPanel面板
进行简单布局 68
4.2.1 布局属性 69
4.2.2 对齐方式 70
4.2.3 外边距 71
4.2.4 最小尺寸、最大尺寸以及
显式地设置尺寸 72
4.3 WrapPanel面板和DockPanel
面板 74
4.3.1 WrapPanel面板 74
4.3.2 DockPanel面板 75
4.3.3 嵌套布局包容器 77
4.4 Grid面板 78
4.4.1 调整行和列 80
4.4.2 跨越行和列 82
4.4.3 分割窗口 83
4.4.4 共享尺寸组 86
4.4.5 UniformGrid面板 88
4.5 使用Canvas面板进行
基于坐标的布局 89
4.5.1 Z顺序 90
4.5.2 lnkCanvas元素 91
4.6 布局示例 93
4.6.1 列设置 93
4.6.2 动态内容 94
4.6.3 组合式用户界面 96
4.7 结束语 97
第5章 内容 99
5.1 理解内容控件 99
5.1.1 Content属性 101
5.1.2 对齐内容 102
5.1.3 WPF内容原则 103
5.2 特殊包容器控件 104
5.2.1 ScrollViewer包容器控件 104
5.2.2 GroupBox和TabItem:
带标题的内容控件 107
5.2.3 Expander控件 109
5.3 装饰控件 112
5.3.1 Border控件 112
5.3.2 Viewbox控件 113
5.4 结束语 115
第6章 依赖项属性和路由事件 116
6.1 理解依赖项属性 116
6.1.1 定义和注册依赖项属性 117
6.1.2 WPF使用依赖项属性的方式 124
6.2 理解路由事件 126
6.2.1 定义和注册路由事件 126
6.2.2 关联事件处理程序 128
6.2.3 事件路由 129
6.3 WPF事件 137
6.3.1 生命周期事件 137
6.3.2 输入事件 139
6.3.3 键盘输入 140
6.3.4 鼠标输入 145
6.4 结束语 149
第7章 经典控件 151
7.1 控件类 151
7.1.1 背景画刷和前景画刷
2021-08-19 09:27:16
43.44MB
WPF
1