WPF 4用建立在新的System.Xaml.dll之上的新的引擎换掉了XamlReader.Load(), BAML 装载, 控件和 数据模板功能的实现。作为其中的一部分工作,修补了许多缺陷,做了很多功能方面的改进。XamlReader.Load()的用户可以利用XAML2009中的若干新的语言特性,例如对泛型类型的支持。MarkupExtensions 和 TypeConverters 现在可以在对象图创建过程中得到更多的服务,能促成更多的场景,例如对Root对象的访问。通过使用System.Xaml.dll提供的许多新的底层API,用于分析和操作XAML的工具也将更加容易创建。
另一个支持WPF-Silverlight连续体的新特性是VisualStateManager(视觉状态管理器),引进了一种简单的新方式来将视觉状态施加给控件。这个机制提供了一种方式,通过提供将控件逻辑映射到各自的起始和终止视觉状态的方法,可以轻易地定制控件的外观(look)和行为(feel)。
WPF 4还提供了XBAP和宿主HTML网页(XBAP在其中是在一个HTML帧或IFRAME元素中装载的)中的脚本间的直接通讯手段。XBAP可以深入访问HTML DOM,包括对内嵌在HTML网页中的任何ActiveX控件的访问,以及对DOM事件的处理。
并且,WPF在过去的版本中还引进了虚拟化的控件(virtualized controls),但从来没有提供一个标准化的方式让一个自动化客户端与一个虚拟化的控件作交互。WPF 4中加了两个控件模式,ItemsContainerPattern 和VirtualizedItemPattern,来支持对虚拟化了的元素的访问和交互。ItemsContainerPattern可用来访问虚拟化的控件以及找到虚拟化的个项(item),而VirtualizedItemPattern则可用于实现虚拟化的个项。