In this article we are going to see an overview of Windows Presentation Foundation. In previous WPF tutorial i have explained a basic introduction to WPF. I would suggest to read that article because it explains why Microsoft introduced WPF and how it is better than Windows Forms applications.
To know more about the Windows Presentation Foundation(WPF), one must have a clear idea about the architecture of WPF. So lets get some overview of wpf architecture.
Overview of Windows Presentation Foundation
----------------------------------------------------------------------------------------
Windows Presentation Framework is a next generation UI framework to create applications with a rich user experience. It is part of the .NET framework 3.0 and higher. WPF architecture is a layered architecture which have Managed, Unmanaged and Core API layers as shown in below fig.
01. Managed Layer
Managed layer has two main components – Presentation Framework and Presentation Core.
- Presentation Framework provides the required functionalities that we need to build the WPF applications such as controls, data bindings, styling, shapes, media, documents, annotations, animation and more. PresentationFamework.dll is responsible for this purpose.
- Presentation Core acts as a managed wrapper around MILCore and provides public interface for MIL. Presentation Core is the home for WPF Visual System and provides classes for creating application visual tree. The Visual System creates visual tree which contains applications Visual Elements and rendering instructions. PresentationCore.dll is responsible for this purpose.
The public API exposed is only via this layer. Major portion of the WPF is in managed code.
PresentationFramework.dll :- It holds the top level WPF elements, including those that represents Windows, panels, controls, styles etc. It also implements the end-user presentation features including time-dependent, story-based animations and data binding.
PresentationCore.dll :- Presentation Core provides a managed wrapper for MIL and implements the core services for WPF such as UI Element and visual from which all shapes and controls derived in PresentationFramework.dll.
WindowsBase.dll :- Holds more basic elements which are capable to be reused outside the WPF environment like Dispatcher objects and Dependency objects.
02. Unmanaged Layer
This layer is also called milcore or Media Integration Library Core. MilCore is written in unmanaged code in order to enable tight integration with DirectX. DirectX engine is underlying technology used in WPF to display all graphics, allowing for efficient hardware and software rendering. MIL has Composition System that receives rendering instructions from Visual System and translates into data that can be understood by DirectX to render user interface.
03. Core API Layer
This layer has OS core components like Kernel, User32, GDI, Device Drivers, Graphic cards etc. These components are used by the application to access low level APIs. User32 manages memory and process separation.
Summary :
Do you like this Article? want to know more Interesting things on .Net, then you can subscribe and follow to this blog.
No comments:
Post a Comment