WPF is a Microsoft technology meant for developing enhanced graphics applications for desktop platform. In addition, WPF applications can be hosted on web browsers which offer rich graphics features for web applications. Web Browser Applications (WBA) developed on WPF technology uses XAML to host user interface for browser applications. XAML stands for extended Application Markup Language which is a new declarative programming model from Microsoft. XAML files are hosted as discrete files in the Web server, but are downloaded to the browsers and converted to user interface by the .NET runtime in the client browsers.
WPF runs on .NET runtime and developers can take advantage of the rich .NET Framework and WPF libraries to build really cool windows applications. WPF supports 3-D graphics, complex animations, hardware acceleration etc.

The Architecture of WPF( Windows Presentation Foundation )

Main component of WPF architecture
  • Presentation framework
  • Presentation core
  • Common language runtime
  • Milcore
  • User32, DirectX
  • Kernel
Where PresentationFramework, PresentationCore, and milcore are the major code portions of WPF.

The explanation WPF architecture.

Presentation Framework, including large number of standard controls i.e. Button, Label, Menu, panels, and other types of controls. The vast majority of Windows Presentation Foundation developers will work exclusively with this layer.
PresentationCore.dll includes base types, such as UIElement and Visual, from which all shapes and controls derive.
WindowsBase.dll includes even more basic things that have the potential to be reused outside of WPF, such as DispatcherObject and DependencyObject,
Milcore.dll is the core of the WPF rendering system and the foundation of the Media Integration Layer (MIL). Its composition engine translates visual elements into the triangle and textures that Direct3D expects. Though milcore.dll is considered a part of WPF, it’s also an essential system component for Windows Vista. The Desktop Window Manager (DWM) in Windows Vista uses milcore.dll to render the desktop.
WindowsCodecs.dll is a low-level API that provides imaging support (e.g., processing, displaying, and scaling bitmaps and JPEGs).
Direct3D is the low-level API through which all the graphics in a WPF are rendered.
User32 is used to determine what program gets what real estate. As a result, it’s still involved in WPF, but it plays no part in rendering common controls. 
At the lower most level you have the Kernel, your graphics drivers etc.

Leave Comment