Friday 27 January 2012

Overview of Windows Presentation Foundation

Windows Presentation Foundation, also known as WPF, is the next-generation graphics platform on which both Windows- and web-based applications can be built to run on Windows Vista, the latest evolutionary release of the Windows operating system.

Windows Presentation Foundation (WPF)—The graphical subsystem for all things related to
the UI

Windows Communication Foundation (WCF)—The messaging subsystem of .NET
Framework 3.0, securing program communication through a single API

Windows Workflow Foundation (WF)—Provides workflow services for applications built to
run on Windows

In today’s world, developing a Windows application may require the use of any number of different technologies, ranging from GDI/GDI+ for 2D graphics, UI services (User32 or WinForms)
WPF was designed as a single model for application development, providing seamless integration between such services within an application. Similar constructs can be used for developing storyboard animation, data bound forms, and 3D models.

Declarative Programming
WPF introduces a new XML-based language to represent UI and user interaction, known as XAML (eXtensible Application Markup Language—pronounced “zammel”). Similar to Macromedia’s MXML specification, within XAML elements from the UI are represented as XML tags. Thus, XAML allows applications to dynamically parse and manipulate UI elements at either compile-time or runtime, providing a flexible model for UI composition.


Architecture

the general underlying architecture of WPF, with each major component detailed in
the sections that follow.

description
Element System
The element system represents the surface of WPF with which developers will interact. Contained within the element system are the core components making up the UI, such as styles, layout, controls, binding, and text layout.
 Visual System
The visual system is the subsystem through which applications access the core presentation services available through WPF. This subsystem examines the components within an application (labels, buttons, text, 2D and 3D graphics, animations) and will communicate with the underlying composition system (via the message transport) to generate the rendered result to the screen.
Font System
The font system was completely rewritten for WPF to provide a superior font and text engine over that of the systems previously available in Windows. The two font engines available in Windows today, GDI and Uniscribe, have significant drawbacks that do not make them suitable for WPF.
Input/Event System
The input/event system in WPF introduces significant advancements for input and user interaction over that of previous systems available in Windows, such as Win32. Messages evoked by Win32 for devicebased user input, such as WM_* messages, provide a verbose mechanism for input and lack enhanced support for modern devices, such as a stylus.
Property System
The property system is integral to core data-related functions within WPF. It comprises the following three main components:
Message Transport System
The message transport service is a key component of the WPF architecture that ties the visual system to the composition system. As mentioned previously, the visual system provides a managed interface through which all other managed subsystems within WPF provide instructions on what elements need to be represented on the screen. Although the visual system provides this hook, it doesn’t perform the work itself; rather, it offloads such tasks to the composition system.

No comments:

Post a Comment