WPF使用一个多层次的架构。在顶部,你的应用与高层的服务相互作用,这些服务完全以托管的C#代码书写。在幕后,使用一个低层的非托管组件milcore.dll翻译.NET对象到Direct3D纹理和三角形。milcore.dll使用非托管代码实现,因为它需要紧密地整合Direct3D,还因为它对性能极端敏感。
PresentationFramework.dll

它持有顶层的WPF类型,包括windowspanels,和其它的控件类型。它也实现诸如Style等高层程序抽象。你将用到的大多数类都来自于这个装配体。

PresentationCore.dll

它持有诸如UIElementVisual等基类,所有的形状和控件派生自这些基类。如果你不需要完整的windowcontrol抽象层,你能下降到这层,仍利用WPF的呈现引擎。

WindowsBase.dll

这持有更基本成分,有可能重用在WPF之外,诸如DispatcherObjectDependencyObject,它们引进依赖属性的基本架构。

类层次

System.Threading.DispatcherObject

可以获知代码是否运行在正确的线程上,通过调度器封送代码到用户界面线程。

System.Windows.DependencyObject

支持改变通知,默认值继承,和更多经济的属性存储。从这个类派生,就获得了对依赖属性的支持。

System.Windows.Media.Visual

Visual类的派生类能够显示在窗口中。

System.Windows.UIElement

支持布局、输入、焦点和事件等WPF要素,还支持路由事件,命令等。

System.Windows.FrameworkElement

FrameworkElement是继承树的最后一站。它添加了一些更具体的布局属性如:HorizontalAlignmentMargin。还支持数据绑定,动画,和样式。

System.Windows.Controls.Control

控件是能和用户交互的元素。控件类支持模板。

System.Windows.Controls.ContentControl
System.Windows.Controls.ItemsControl
System.Windows.Controls.Panel