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体系结构的更多相关文章

  1. WPF知识点全攻略00- 目录

    知识点目录如下: 1.WPF相对WinFrom的优缺点 2.WPF体系结构 3.XAML 4.XAML页面布局 5.XAML内容控件 6.WPF中的“树” 7.Binding 8.依赖属性 9.附加属 ...

  2. WPF知识点全攻略06- WPF逻辑树(Logical Tree)和可视树(Visual Tree)

    介绍概念之前,先来分析一段代码: xaml代码如下: <Window x:Class="WpfApp1.MainWindow" xmlns="http://sche ...

  3. WPF知识点全攻略10- 路由事件

    路由事件是WPF不得不提,不得不会系列又一 先来看一下他的定义: 功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件. 实现定义:路由事件是一个 C ...

  4. WPF知识点全攻略09- 附加属性

    附加属性也是一种特殊的依赖属性. Canvas中的Canvas.Left,Canvas.Top ,DockPanel中DockPanel.Dock等就是附加属性. 更加.NET类属性的写法经验.这个中 ...

  5. WPF知识点全攻略08- 依赖属性

    依赖属性是WPF不得不提,不得不会系列又一 先来看一下,自定义依赖属性的写法 public static readonly DependencyProperty IconProperty = Depe ...

  6. WPF知识点全攻略07- 数据绑定(Binding)

    数据绑定是WPF不得不提,不得不会系列之一 数据绑定简言之,就是把数据源的数据绑定到目标对象的属性上.目标对象可以是承自DependencyProperty的任何可访问的属性或控件,目标属性必须为依赖 ...

  7. WPF知识点全攻略05- XAML内容控件

    此处简单列举出布局控件外,其他常用的控件: Window:WPF窗口 UserControl:用户控件 Page:页 Frame:用来浏览Page页 Border:嵌套控件,提供边框和背景. Butt ...

  8. WPF知识点全攻略03- XAML

    XAML 是一种声明性标记语言,XAML 是一种基于 XML 并对 XML 结构规则进行了扩展. XAML特点: 定义应用程序的界面元素 显示的声明WPF资源(样式.模板.动画等) 可扩展性(自定义U ...

  9. WPF知识点全攻略01- WPF相对WinFrom的优缺点

    对比WPF和WinFrom前,先来了解下GUI现阶段在用的其他一些开发技术: MFC:微软基础类库,以C++的形式封装了Windows API,加上一些实用工具类. QT:奇趣科技开发的跨平台C++图 ...

随机推荐

  1. 安全运维之关于个人ip定位与网站监控的分析

    场景:   后台:有人盗刷我的短信接口.小偷偷我手机.无良黑客黑我网站   前台:发个欺骗链接或者说我在网上举报谁谁谁附带一个跳转url获取对方ip.......   How to solve:   ...

  2. python 网络编程(网络基础之网络协议篇)

    前言 C/S  B/S 架构 client<----->server browser<--->server 学习socket编程就是要编写一个客户端软件和服务端软件,然后实现服 ...

  3. CodeForces Gym 100685E Epic Fail of a Genie (贪心,控制精度)

    题意:给定 n 个数,然后让从中选取一些数使得它们的总乘积最大.如果有多个,要求这些数尽量少,如果还有多个,随便输出一组即可. 析:一个贪心题,根据乘法的性质,很容易知道,如果一个数大于1,那么肯定要 ...

  4. UVa 1641 ASCII Area (计算几何,水题)

    题意:给定一个矩阵,里面有一个多边形,求多边形的面积. 析:因为是在格子里,并且这个多边形是很规则的,所以所有格子不是全属于多边形就是全不属于,或者一半,并且我们可以根据"/"和“ ...

  5. PHP 数组序列化,转为字符串

    serialize() <?php $a = array('a' => 'as' ,'b' => 'bs' , 'c' => 'cs'); //序列化数组 $s = seria ...

  6. ios代码大全

    http://blog.csdn.net/kepoon/article/details/7763106

  7. Android 兼容包

    http://www.cnblogs.com/kissazi2/p/3644848.html 在AndoridManifest.xml文件中可以查看项目最低支持的SDK版本 <uses-sdk ...

  8. Execution failed for task ':app:lintVitalRelease'.

    解决方法:在build.gradle文件的android部分添加如下代码: lintOptions { checkReleaseBuilds false abortOnError false} 最后成 ...

  9. C - Heavy Transportation

    //改版dijkstra #include <iostream> #include <algorithm> #define Faster ios::sync_with_stdi ...

  10. docker Mac安装和使用

    1.安装docker brew cask install docker 2.安装后可以用命令查看版本 docker --version 3.build java 项目(jar) docker buil ...