Skip to content
Home » Windows Presentation Foundation (WPF) – What is it?

Windows Presentation Foundation (WPF) – What is it?

Windows Presentation Foundation

Windows Presentation Foundation (or WPF for short) is a resolution-independent user interface platform using a vector-based visualization engine that takes full advantage of today’s graphics hardware. 

Before WPF, desktop app development developers had to learn several independent technologies that were often poorly compatible. With WPF, it’s all part of a coherent programming model. That supports the composition and visualization of heterogeneous elements. The same effects apply to different kinds of multimedia. Once mastered, the technique can be used for other purposes.

Independence from the resolution of the screen

By using vector graphics, WPF provides and makes it possible to reduce or enlarge elements on the screen regardless of their resolution.

Windows Presentation Foundation

Hardware acceleration

Since WPF is based on DirectX technology, content in a WPF application, be it a button, image or text, is converted into Direct3D objects, then rendered using the graphics processing unit of the graphics card. 

WPF applications use full graphical hardware acceleration, which allows for higher quality images while increasing performance (since some of the work is offloaded from the CPU to the graphics processor).

WPF does not necessarily require a high-performance graphics card. It also has its own software rendering pipeline. This allows you to use features that are not yet supported by hardware (for example, a high-precision display of any content on the screen). 

The software implementation is used as a fallback in the absence of hardware resources (for example, if the system has an outdated graphics card or a modern card, but the GPU lacks the resources, for example, video memory).

Declarative programming

Although declarative programming is not unique to WPF, using declarative programming in WPF has been taken to a new level by the XAML (Extensible Application Markup Language). The combination of WPF and XAML can be compared to using HTML to describe the user interface. And this expressiveness goes far beyond describing the interface.

Using XAML can be a bit of a hindrance to learning and working with WPF. However, with this approach, you can separate the application interface from the logic. Designers “paint” a beautiful, attractive application interface without thinking about the business logic. Programmers write the business logic.

Rich composition and customization options

In WPF, controls can be combined in the most unthinkable and bizarre ways. For example, you can create a combined list containing animated buttons, or add a picture to a button.

Conclusions 

Compared to WinForms, WPF has several advantages, the main ones being hardware acceleration and screen resolution independence. Against this background, the services of WPF developers have become very much in demand. That said, if you are moving to WPF from WinForms or any other programming language, such as Delphi, in the beginning, this platform may seem quite complicated. 

Because WPF uses XAML and things that were solved by simply dragging controls from the toolbox to a form and writing event handlers, now you will have to do it in a more “civilized” way, separating graphics from business logic. But for WPF you can use quite many standard controls in the ToolBox.