WPF知识点全攻略02- WPF体系结构
WPF体系结构图:
- PersentationFramework.dll包含WPF顶层的类型,包括哪些表示窗口、面板以及其他类型控件的类型。他还实现了高层编程抽象,如样式。开发人员直接使用的大部分类都来自这个程序集
- PresentationCore.dll包含了基础类型,如UIElement类和Visual类,所有形状类和控件类都继承自这两个类。如果不需要窗口和控件抽象层的全部特征,可以使用这一层,并且仍能用WPF的渲染引擎。
- WindowsBase.dll包含了更多基本要素,这些要素具有在WPF之外重用的潜能。
- milcore.dll是WPF渲染系统的核心,也是媒体集成层的基础。
- WindowsCodes.dll是一套提供图像支持的低级API(例如,处理、显示以及缩放位图与JPEG图像)
- Direct3D是一套地基API,WPF应用程序中的所有图形都是由它渲染
- User32用于决定哪些程序实际占有桌面的哪一部分。
WPF类层次结构图:

1.System.Threading.DispatcherObject类,通过继承此类,用户界面中的每个元素都可以检查代码是否在正确的线程上运行。
2.System.Windows.DependencyObject类,提供对依赖属性的支持。
3.System.Windows.Media.Visual类,每个元素本质都是一个Visual对象,封闭绘图指令、绘画额外细节。
4.System.Windows.UIElement类,提供WPF本质特征的支持,如布局、输入、焦点、及事件。
5.System.Windows.FrameworkElement类,是 WPF 框架级元素类,提供数据绑定、动画及样式的支持。
6.System.Windows.Controls.Control类,为字体、前背景色及模板提供支持。
7.System.Windows.Controls.ContentControl类,所有具有单一内容类控件的基类。
8.System.Windows.Controls.ItemsControl类,所有显示选项集合控件的基类。
9.System.Windows.Shapes.Shape类,基本形状类继承于此类。
10.System.Windows.Controls.Panel类,所有布局窗口的基类。
其他继承关系和具体内容参考: https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.threading.dispatcherobject?view=netframework-4.8
WPF知识点全攻略02- WPF体系结构的更多相关文章
- WPF知识点全攻略00- 目录
知识点目录如下: 1.WPF相对WinFrom的优缺点 2.WPF体系结构 3.XAML 4.XAML页面布局 5.XAML内容控件 6.WPF中的“树” 7.Binding 8.依赖属性 9.附加属 ...
- WPF知识点全攻略06- WPF逻辑树(Logical Tree)和可视树(Visual Tree)
介绍概念之前,先来分析一段代码: xaml代码如下: <Window x:Class="WpfApp1.MainWindow" xmlns="http://sche ...
- WPF知识点全攻略10- 路由事件
路由事件是WPF不得不提,不得不会系列又一 先来看一下他的定义: 功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件. 实现定义:路由事件是一个 C ...
- WPF知识点全攻略09- 附加属性
附加属性也是一种特殊的依赖属性. Canvas中的Canvas.Left,Canvas.Top ,DockPanel中DockPanel.Dock等就是附加属性. 更加.NET类属性的写法经验.这个中 ...
- WPF知识点全攻略08- 依赖属性
依赖属性是WPF不得不提,不得不会系列又一 先来看一下,自定义依赖属性的写法 public static readonly DependencyProperty IconProperty = Depe ...
- WPF知识点全攻略07- 数据绑定(Binding)
数据绑定是WPF不得不提,不得不会系列之一 数据绑定简言之,就是把数据源的数据绑定到目标对象的属性上.目标对象可以是承自DependencyProperty的任何可访问的属性或控件,目标属性必须为依赖 ...
- WPF知识点全攻略05- XAML内容控件
此处简单列举出布局控件外,其他常用的控件: Window:WPF窗口 UserControl:用户控件 Page:页 Frame:用来浏览Page页 Border:嵌套控件,提供边框和背景. Butt ...
- WPF知识点全攻略03- XAML
XAML 是一种声明性标记语言,XAML 是一种基于 XML 并对 XML 结构规则进行了扩展. XAML特点: 定义应用程序的界面元素 显示的声明WPF资源(样式.模板.动画等) 可扩展性(自定义U ...
- WPF知识点全攻略01- WPF相对WinFrom的优缺点
对比WPF和WinFrom前,先来了解下GUI现阶段在用的其他一些开发技术: MFC:微软基础类库,以C++的形式封装了Windows API,加上一些实用工具类. QT:奇趣科技开发的跨平台C++图 ...
随机推荐
- FileWriter 写文件
FileWriter fw = new FileWriter("C://Users//pc//Desktop//aaa.txt",true); fw.write("201 ...
- 实战分析一个运行起来会卡死的Go程序
序言 最近一位非常热心的网友建议结合demo来分析一下goroutine的调度器,而且还提供了一个demo代码,于是便有了本文,在此对这位网友表示衷心的感谢! 这位网友提供的demo程序可能有的gop ...
- Git之设置对文件名大小写敏感
关键命令 git config core.ignorecase false
- IntelliJ IDEA的自动提示貌似是区分大小写的,首字母小写的话,怎么都提示不出来。
IntelliJ IDEA的自动提示貌似是区分大小写的,首字母小写的话,怎么都提示不出来. File>Settings>editor >general >code comple ...
- 我叫mt2.0更新公告
一.2.0版<PVP的远征>军费发放 简体服<我叫MT>2.0版本<PVP的远征>更新在即!为备战新版本,我们宣布10天后(3月10日)发放军费振奋军心. 简体服3 ...
- bzoj 2007: [Noi2010]海拔【最小割+dijskstra】
上来就跑3e5的最大流--脑子抽了 很容易看出,每个地方的海拔都是0或1因为再高了没有意义,又,上去下来再上去没有意义,所以最后一定是从s连着一片0,剩下连着t一片1,然后有贡献的就是01交接的那些边 ...
- 第四章 “我要点爆”微信小程序云开发之疯狂点击与糖果点爆页面制作
疯狂点击点爆方式页面制作 疯狂点击为用户提供一个60秒的按钮点击时间,同时点击过程中有背景音乐,系统根据用户点击按钮的此时来进行热度值的计算. <view class="the_hea ...
- cell内存优化
UITableView的常用属性: 分割线颜色设置: 1> 设置separatorStyle: 分割线的颜色 方法:tableView.separatorStyle = UITableViewC ...
- Elasticsearch学习记录(入门篇)
Elasticsearch学习记录(入门篇) 1. Elasticsearch的请求与结果 请求结构 curl -X<VERB> '<PROTOCOL>://<HOST& ...
- Other Linker Flags里加上所需的参数
在Other Linker Flags里加上所需的参数,用到的参数一般有以下3个: -ObjC -all_load -force_load 下面来说说每个参数存在的意义和具体做的事情. 首先是-Obj ...
