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