In WPF (Windows Presentation Foundation), the framework is organized into a small set of core assemblies that provide UI, graphics, layout, media, and integration features.

✅ Core WPF Assemblies


1️⃣ PresentationFramework.dll

📌 Purpose:
This is the main WPF assembly used by most applications.

Contains:

  • Application & Window classes

  • Controls (Button, TextBox, Label, DataGrid, etc.)

  • Data Binding

  • Styles, Templates, Resources

  • Navigation (Page, Frame)

👉 Without this, you can’t build a typical WPF UI.


2️⃣ PresentationCore.dll

📌 Purpose:
Provides the low-level rendering and media services.

Contains:

  • Visual & UIElement base classes

  • Graphics rendering

  • Animation support

  • 2D/3D graphics

  • Imaging (BitmapImage, DrawingImage)

👉 Acts as a bridge between WPF UI and DirectX.


3️⃣ WindowsBase.dll

📌 Purpose:
Provides base types and infrastructure for WPF.

Contains:

  • DependencyObject

  • DependencyProperty

  • Dispatcher

  • RoutedEvent

  • Threading & timing services

👉 This assembly is shared with other .NET technologies too.


4️⃣ System.Xaml.dll

📌 Purpose:
Handles XAML parsing and processing.

Contains:

  • XAML reader & writer

  • Markup extensions

  • XAML serialization

👉 Converts XAML into runtime objects.


🧩 Supporting / Optional Assemblies

AssemblyPurpose
PresentationUI.dllUI Automation support
UIAutomationClient.dllAccessibility & automation
ReachFramework.dllPrinting & document support
System.Windows.Controls.Ribbon.dllRibbon UI

📌 Interview-Friendly One-Line Answer

Core WPF assemblies are:
PresentationFramework.dll, PresentationCore.dll, WindowsBase.dll, and System.Xaml.dll