wpf基础、wpf教程

目录 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 本文来自网络,由大胡子制作.版权归原作者所有.如果你有 wpf 的好资料可以联系我 QQ:249872349,Email:[email protected] 二、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 根据给定的文件信息,我们可以总结出一系列关于 WPF(Windows Presentation Foundation)的关键知识点,包括其体系结构、应用程序管理、窗体操作、布局容器、控件内容模型、依赖项属性和路由事件、输入处理、命令机制以及资源管理等方面的内容。 ### WPF体系结构 WPF的体系结构主要包括以下组件: - **PresentationFramework**:包含用户界面的基本框架,包括控件、布局管理器等。 - **PresentationCore**:提供核心的渲染和服务功能。 - **milcore**:这是一个非托管组件,用于实现与DirectX的紧密集成,确保高效的硬件和软件呈现。 ### WPF应用程序管理 WPF应用程序由 `System.Windows.Application` 类进行管理,负责初始化、运行和关闭应用程序。 #### 创建WPF应用程序 1. **定义主程序入口**:通常通过一个名为 `App.xaml` 的文件来定义。 2. **初始化**:可以通过覆盖 `OnStartup` 方法来添加启动时的行为。 3. **运行**:调用 `Application.Run()` 方法来启动应用程序。 4. **关闭**:通过 `Shutdown` 方法或覆盖 `OnExit` 方法来处理关闭时的操作。 #### 应用程序关闭 应用程序可以通过多种方式关闭,包括但不限于: - 显式调用 `Application.Shutdown()` 方法。 - 窗体关闭触发。 #### Application对象的事件 `Application` 类提供了多个事件,如 `Startup`, `Exit`, `SessionEnding`, `SessionEnded` 等,可用于执行启动和关闭时的特定任务。 #### WPF应用程序生存周期 - **启动**:从调用 `Application.Run()` 开始。 - **运行中**:窗口打开期间。 - **退出**:调用 `Application.Shutdown()` 或者当最后一个窗口关闭时自动结束。 ### WPF窗体 #### 窗体类 每个 WPF 应用程序至少有一个窗体,通常包含一个 XAML 文件和一个后台代码文件。 - **XAML文件**:用于定义窗体的外观和行为。 - **后台代码文件**:实现逻辑处理和事件响应。 #### 窗体的生存周期 - **显示窗体**:通过调用 `Show()`, `ShowDialog()` 等方法来显示窗体。 - **关闭窗体**:可以通过调用 `Close()` 方法来关闭窗体。 - **窗体的激活**:当窗体获得焦点时触发。 - **窗体的生存周期**:从创建到销毁的整个过程。 #### 其他窗体相关的属性、方法、事件 - **属性**:例如 `Title`、`Width` 和 `Height`。 - **方法**:如 `Show()`, `ShowDialog()`, `Close()`。 - **事件**:比如 `Closing`、`Closed`、`Activated`。 #### 定义异形窗体 通过调整 `Window` 控件的 `Width`、`Height` 和使用自定义的 `Grid` 布局,可以创建具有特定形状的窗体。 ### 布局容器 #### StackPanel - **Orientation属性**:决定子控件是水平还是垂直排列。 - **调整控件显示**:通过设置 `Margin`、`Padding` 等属性。 #### WrapPanel - **自动换行**:允许子控件自动换行以适应容器大小。 #### DockPanel - **停靠**:允许子控件停靠到容器的边缘。 #### Grid 和 UniformGrid - **Grid**:通过定义列和行来定位子控件。 - **使用GridSplit**:允许动态调整列和行的大小。 - **UniformGrid**:为每个子控件分配相同的空间。 ### Canvas 和 InkCanvas 布局 - **Canvas**:通过设置 `Canvas.Left` 和 `Canvas.Top` 属性来定位控件。 - **InkCanvas**:支持手写输入和墨水绘制。 ### WPF控件内容模型 #### ContentControl模型 - **单个内容**:用于显示单个子元素。 #### HeaderedContentControl模型 - **带有标题的内容**:支持带有标题的单个内容展示。 #### ItemsControl模型 - **列表内容**:用于显示多个项目。 - 使用 `ItemSource` 属性绑定数据源。 - 使用 `Items` 属性手动添加项目。 #### HeaderedItemsControl模型 - **带标题的列表内容**:支持带有标题的多个项目展示。 ### Panel、Decorator、TextBlock 内容模型 #### Panel内容模型 - **布局容器**:用于放置和定位控件。 #### Decorator内容模型 - **装饰器**:用于装饰其他控件。 #### TextBlock 模型 - **文本显示**:用于显示纯文本。 #### TextBox 模型 - **文本编辑**:用于编辑文本。 ### 依赖项属性和路由事件 #### 依赖项属性 - **CLR包装属性**:提供属性更改通知等功能。 - **自定义依赖项属性**:可以重写以提供特定行为。 #### 路由事件 - **事件传递机制**:允许事件沿着控件树传递。 ### 键盘输入、鼠标输入、焦点处理 #### 键盘类和键盘事件 - **键按下的处理**:通过 `KeyDown` 和 `KeyUp` 事件。 #### 鼠标类和鼠标事件 - **鼠标操作**:包括 `MouseDown`, `MouseUp`, `MouseMove` 等事件。 #### 焦点处理 - **键盘焦点**:通过 `Keyboard.Focus` 方法。 - **逻辑焦点**:逻辑焦点用于接收键盘输入。 - **键盘导航**:通过方向键移动焦点。 - **焦点事件**:例如 `GotFocus` 和 `LostFocus`。 ### WPF命令 #### 命令 - **命令对象**:通过 `ICommand` 接口定义。 - **命令源**:触发命令的对象。 - **命令目标**:接收命令的对象。 - **命令绑定**:将命令与命令源和目标绑定起来。 ### WPF资源 #### 什么是资源 - **共享对象**:可以被多个控件复用。 #### 资源的定义及XAML中引用 - **定义资源**:使用 `Resources` 集合。 - **引用资源**:通过 `StaticResource` 或 `DynamicResource` 关键字。 #### XAML解析资源的顺序 - **资源查找顺序**:从当前范围开始,逐级向上查找。 #### 静态资源(StaticResource)和动态资源(DynamicResource) - **静态资源**:在编译时解析。 - **动态资源**:在运行时解析。 #### 不同类型的资源 - **程序集资源**:存储在程序集中的资源。 - **对象资源**:任何可以序列化的对象。 以上知识点概括了 WPF 的基础知识和技术要点,有助于理解 WPF 的架构和使用方法。WPF 是一个强大且灵活的 UI 框架,适合开发复杂的桌面应用。

































剩余82页未读,继续阅读

- zhangyuyang09142011-09-26一般一般了,讲的有点不对口啊
- netwolfzz2011-10-26比较简单,正好入门用用
- f11055856942011-11-13“”“”一般一般了,讲的有点不对口啊“” 是有点
- dnv1fhvk2011-10-15感谢楼主分享资源!感觉还可以,这样资料比较少

- 粉丝: 24
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 乐聚:以人形机器人赋能人工智能教育.docx
- 数字时钟单片机课程设计桂电.doc
- 免费基于PLC的自动售货机控制系统设计.doc
- 大数据时代新疆高校大学生网络安全意识培养研究.docx
- VB的恒温水浴温管理系统设计.doc
- 信息系统安全实施方案(加密机制).doc
- 基于大数据背景下的内部审计问题研究.docx
- 如何用VC写C或者C语言程序.doc
- 施工项目管理系列之施工项目信息管理.doc
- 网络安全、言论自由与隐私保护.doc
- 互联网+时代高校工会工作管理模式创新对策.docx
- plc自动售货机控制系统的方案设计书.doc
- 第三方物流企业信息化问题研究.doc
- PLC的三面钻组合机床控制系统设计方案.doc
- 深度学习视野下素养为本的化学能与电能教学设计.docx
- 调度自动化系统课程设计方案.doc


