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
| Assembly | Purpose |
|---|---|
| PresentationUI.dll | UI Automation support |
| UIAutomationClient.dll | Accessibility & automation |
| ReachFramework.dll | Printing & document support |
| System.Windows.Controls.Ribbon.dll | Ribbon UI |
📌 Interview-Friendly One-Line Answer
Core WPF assemblies are:
PresentationFramework.dll, PresentationCore.dll, WindowsBase.dll, and System.Xaml.dll
