WPF高级教程:从体系结构到控件应用

4星 · 超过85%的资源 需积分: 35 19 下载量 22 浏览量 更新于2024-07-27 收藏 1.52MB PDF 举报
"这篇WPF进阶教程涵盖了WPF的核心概念和组件,包括WPF的体系结构、应用程序管理、各种窗口容器以及布局管理。作者大胡子整理了网络上的相关资料,旨在帮助读者深入理解并掌握WPF技术。教程中详细讨论了Window类的使用、控件容器如StackPanel、WrapPanel、DockPanel、Grid和UniformGrid,以及Canvas和InkCanvas等布局。此外,还介绍了WPF控件的继承方式、内容模型,如ContentControl、HeaderedContentControl、ItemsControl和HeaderedItemsControl,以及Panel、Decorator和TextBlock的内容模型。最后,教程讲解了依赖项属性和路由事件,这是WPF中两个重要的特性。" 在WPF体系结构中,WPF应用程序由`System.Windows.Application`类管理,包括应用程序的启动、运行和关闭过程。创建WPF应用时,通常会有一个启动窗口,并通过配置App.xaml文件来初始化应用程序。`Application`对象拥有多个关键事件,如`Startup`、`Exit`等,用于处理应用程序的生命周期。WPF应用程序的生存周期包括启动、运行、暂停、恢复和关闭等阶段。 WPF窗体是用户界面的基础,它们由XAML文件定义布局和外观,配合后台代码文件实现逻辑功能。窗体的生存周期包括加载、显示、激活、关闭等状态,每个状态都有相应的事件可响应。此外,可以通过自定义窗体样式来创建异形窗体,增加用户界面的多样性。 容器控件是WPF布局的基础,StackPanel按照垂直或水平方向排列子元素,WrapPanel则会在一行/列填满后自动换行,而DockPanel允许元素沿边界填充。Grid是最常用的布局控件,支持行列划分,UniformGrid则确保所有单元格大小一致。Canvas提供绝对定位,InkCanvas则适合手写输入和绘图。 WPF控件的继承体系复杂且灵活,例如Button、Label等都是从Control类派生,ContentControl、HeaderedContentControl等模型则提供了展示内容的方式。依赖项属性和路由事件是WPF中两个重要特性,依赖项属性支持数据绑定和动画,路由事件可以实现跨层级的事件传播。 依赖项属性(DependencyProperty)是一种特殊的属性机制,它允许属性值的动态更改和数据绑定,同时提供回调机制。路由事件允许事件在控件树中传播,可以被多个控件监听和处理,增强了事件处理的灵活性。 总结来说,这个WPF进阶教程详细介绍了WPF开发中的关键概念和技术,对于想要深入学习WPF的开发者来说,是一个宝贵的资源。
2011-08-07 上传
wpf经典教程 共83页 WPF体系结构........... 3 WPF应用程序管理... 5 一、WPF应用程序由System.Windows.Application类进行管理.................... 5 二、创建WPF应用程序......................................................... 5 三、应用程序关闭................................................................... 6 四、Application对象的事件.................................................... 7 五、WPF应用程序生存周期................................................... 9 WPF窗体................. 10 一、窗体类...... 10 1、XAML文件............................................................... 10 2、后台代码文件........................................................... 10 二、窗体的生存周期..............................................11 1、显示窗体.......................................................11 2、关闭窗体......................................................12 3、窗体的激活................................................... 12 4、窗体的生存周期............................................... 12 三、其他窗体相关的属性、方法、事件.............................. 15 四、定义异形窗体................................................ 16 StackPanel、WrapPanel、DockPanel 容器............................ 19 一、StackPanel 19 1、可以使用Orientation属性更改堆叠的顺序............ 19 2、设置控件的属性,调整控件的显示......................... 20 二、WrapPanel. 20 三、DockPanel. 21 Grid UniformGrid容器......................................... 22 一、Grid........... 22 二、使用GridSplit分割........................................................ 23 三、UniformGrid ............................................. 25 Canvas、InkCanvas布局................................ 27 一、Canvas ...... 27 二、InkCanvas . 27 WPF对控件其类型的继承方式如下............................................. 29 WPF控件内容模型. 32 一、ContentControl模型....................................... 35 二、HeaderedContentControl模型......................................... 36 三、ItemsControl模型....................................... 38 1、使用ItemSource属性................................................ 38 2、使用Items属性........................................................ 40 四、HeaderedItemsControl模型............................................. 42 Panel Decorator TextBlock内容模型............................ 44 一、Panel内容模型............................................ 44 二、Decorator内容模型........................................ 45 三、TextBlock模型........................................ 46 四、TextBox模型........................................... 49 依赖项属性和路由事件......................................... 50 一、依赖项属性(Dependency Property................................ 50 1、依赖项属性与CLR 包装属性.................................. 50 2、使用由依赖项属性提供的属性功能......................... 51 3、自定义依赖项属性及重写依赖项属性..................... 52 二、路由事件(RoutedEvent)............................................. 53 键盘输入、鼠标输入、焦点处理................................ 56 一、键盘类和键盘事件..................................... 56 二、鼠标类和鼠标事件...................................... 57 三、焦点处理.. 60 1、键盘焦点: ....................................... 60 2、逻辑焦点........................................... 61 3、键盘导航.............................................. 61 4、焦点事件.................................... 61 WPF命令................. 63 一、命令: ...... 64 二、命令源...... 65 三、命令目标.. 66 四、命令绑定.. 67 WPF资源................. 70 一、什么是资源............................................. 70 二、资源的定义及XAML中引用......................................... 70 三、XAML解析资源的顺序.................................................. 74 四、静态资源(StaticResource)和动态资源(DynamicResource) .............. 77 五、不同类型的资源............................................................. 81 1、程序集资源。........................................................... 81 2、对象资源................................................................... 82