WPF编程宝典:使用C#2012和.NET 4.5(第4版),全面讲解WPF的实际工作原理,是一本WPF权威著作。在紧贴实用示例这一思想的引导下,列出实用提示,引导以专业的方式使用WPF。本书开篇介绍WPF基本概念以便为您奠定坚实的基础,并将现有C#技能作为引用框架,然后讨论高级概念,结合实际演示它们的用法,并重点强调了可由此节省的时间和人力成本。
目录
第Ⅰ部分基础知识 第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.2XAML基础 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 第Ⅷ部分其他主题 |