What is WPF………………………………
Windows
Presentation Foundation is nothing but a Graphical subsystem which provides
visually stunning user interfaces in Windows based applications. WPF is based
on XAML which is a XML based language. WPF application uses hardware
acceleration of graphic cards so it will improve your application performance.
WPF introduced new markup language called XAML which allows you to keep
separate UI and code behind. So designer and developers both can work together.
WPF has rich control set and all controls are highly customizable using control
templates and different styles. WPF supports Vector based graphic system. So
you can easily scale your UI elements. You can create Standalone Application and
Browser Hosted Applications (XBAP) using WPF.
- WPF is essentially a new API for creating a Graphical User Interfaces for the Windows Platform.
- WPF is more than just a next-generation presentation system for building Windows Client application along with visually stunning user interfaces.
- WPF is builds on top of the DirectX (Direct3D), instead of relying on the older GDI/GDI+ subsystem.
- The most important feature of the WPF is – extended DataBinding. With WPF, you can perform data manipulation using .Net Framework Code, XAML or a combination of both. You can bind to controls, public properties, XML or objects, making data binding quick, flexible and easier than ever.
- WPF provides a consistent programming model for building applications and a clean separation between the user interfaces and the business logic. You may now separate the function of a control from its appearance.
- With WPF, you can build up complex UI elements from simpler one. Now you can build a new control which may have controls inside a control.
- With WPF, you can create a wide range of both stand-alone and browser-hosted application
- WPF is a vector graphics based UI presentation layer and being vector based it allows the presentation layer to smoothly scale UI elements to any size without distortion.
- WPF is "skin-able" and "theme-able". It means WPF allows changing the look and feel of any UI control.
- The core of WPF is a resolution independent and the vector based rendering engine takes the advantages of modern graphics hardware.
- The core of WPF is extended with a comprehensive set of application development features that includes Extensible Application Markup Language (XAML), controls, data binding, layout, 3D graphics, animations along with rich visual effects, templates, media, text etc.
Major features of WPF
shown in below figure.
What
is WPF Architecture
The Major components of
WPF Architecture are Presentation Framework, Presentation Core and Media
Integration Layer. The architecture divides in three major groups Managed Layer,
which
have Managed, Unmanaged and Core API layers as shown in below fig.
Managed layer contains
WindowsBase, Presentation Framework and Presentation Core assembly. Media
Integration Layer contains Milcore(Media Integration Library Core) and
WindowsCodecs modules and both are unmanaged code. Media Integration Layer
interacts with Direct3D and Direct3D interacts with Device Driver.
Managed Layer: It
has two main components – Presentation Framework and Presentation Core. Managed layer contains WindowsBase,
Presentation Framework and Presentation Core assembly
·
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.
Unmanaged Layer
Media Integration Library is core rendering system. MIL is
unmanaged code. 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.
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.
0 comments:
Post a Comment