#26 – WPF Architecture

The diagram belows shows the dependencies between the main WPF DLLs.  (Click on the image to see it full-sized).

Here’s a quick overview of the DLLs listed in this diagram:

  • System.Windows.Presentation.dll – Contains some types related to add-ins
  • PresentationFramework.Aero.dll – Implements Aero theme for WPF controls
  • PresentationFramework.Classic.dll – Implements Classic theme for WPF controls
  • PresentationFramework.dll – Contains most of the main WPF controls, as well as support for data binding
  • PresentationUI.dll – Contains some resources related to themes & some support classes for System.Windows.Documents
  • ReachFramework.dll – Contains types related to printing and XPS documents
  • System.Printing.dll – Contains main types related to printing
  • PresentationCore.dll – Lower level types for visual rendering like UIElement.  Also DragDrop support.
  • System.Windows.Input.Manipulations.dll – Implementation of input manipulators
  • UIAutomationProvider.dll – Support for UI Automation (for accessibility)
  • WindowsBase.dll – Lower-level types like DependencyObject and DependencyProperty
  • UIAutomationTypes.dll – Basic types related to UI Automation