Windows Presentation Foundation et al

download the presentation

Windows Presentation Foundation

WPF is a platform for developing and running .NET programs. It consists of two elements:

  1. A set of DLLs designed for creating programs with the following characteristics:
    • User interfaces
    • Data binding
  2. A public application programming interface (API), allowing our programs to access those DLLs.[1]

More definitions:

  • WPF - user interface platform - for collaboration of designers and developers to create software [5]
  • WPF builds on a vector based rendering engine [4]
  • WPF is a presentation system for building applications
  • WPF is Microsofts' UI framework to create applications with rich user experiences. WPF separates the appearance of an user interface from its behavior. The appearance is generally specified in the Extensible Application Markup Language (XAML), the behavior is implemented in a managed programming language like C# or Visual Basic. The two parts are tied together by databinding, events and commands. [4]

Dynamic-link library

A DLL is a library that contains code and data that can be used by more than one program at the same time.[2]

Application Programming Interface

An application programming interface (API) is an interface implemented by a software program that enables it to interact with other software. It facilitates interaction between different software programs similar to the way the user interface facilitates interaction between humans and computers.[3]

Extensible Application Markup Language

XAML - declarative XML-based UI language. (New markup language to represent user interfaces.) Some other notes:

  • HTML, are the evidence of the success of using markup for displaying user interfaces. (A key to the success of markup syntax is the ability to be at once human readable and machine readable.)
  • XML-based markup languages are well-suited to represent hierarchies and parent/child/sibling relationships that appear in a user interface
  • Microsoft's Silverlight, a cross-platform plug-in for creating rich interactive Web experiences, also uses XAML.

Declarative programming

Declarative programming is a way of specifying what a program should do, rather than specifying how to do it. Most computer languages are based on the steps needed to solve a problem, but some languages only indicate the essential characteristics of the problem and leave it to the computer to determine the best way to solve the problem. The former languages are said to support imperative programming whereas the latter support declarative programming.[6]

WPF tools

Microsoft provides two development tools for WPF applications. One is Visual Studio (code and XAML editing, rare support for graphics), made for developers and the other is Expression Blend (graphics, rare support for code and XAML editing) made for designers.


  1. Illustrated WPF book
  2. Miscrosoft website
  3. Wikipedia
  4. WPFtutorial website
  5. Windowsclient website, white paper on WPF
  6. Wisegeek website on declarative programming