WPF源码轮廓
WPF框架代码很庞杂不容易学习,这里记录我自己学习的点点滴滴。以wpf-4.8.0-rc1.19455.14为探索对象,相关代码可在WPF仓库下载。代码结构大致如下:
PresentationFramework 是最顶层抽象接口,开发中用到的大部分类都来源于此,包含各个控件,图形,动画,绑定,XAML命名控件映射
PresentationCore 是WPF界面的通用基础,控件类形状类型都从此继承,包含画刷,颜色,字体,测量,输入。Visual和UIElement都在此程序集下。
WindowsBase 包含了WPF框架的线程处理,安全访问处理,IO处理,Dispatcher和DispatcherObject在这里定义,起到WPF框架和Windows粘合的作用,窗口过程在这里处理,同时写入了很多低级别的诊断信息。
System.Xaml 主要是处理XAML,读写,类型映射,解析
WindowsFormsIntegration WindowsForm的宿主环境。