Intro to Windows Presentation Foundation

September 4, 2008

Here are my notes on WPF, which are from this MSDN article by Tim Sneath:

INTRODUCTION

There has traditionally been competition in the world of application development between stand-alone applications and web-based applications, each having somewhat opposite strengths and weaknesses.  There is a need for a client application model for both standalone and browser-based applications that offers ease of deployment, tools support, and deep platform integration. 

Modern video cards have come a long way in the last few years and most of today’s mainstream applications don’t take full advantage of their powerful abilities.

WPF is the new strategic Windows graphics subsystem that harmonizes user interface, 2D and 3D graphics, documents, and media.  It takes full advantage of modern graphics hardware and supports both stand-alone and web-based applications.  It is built on the .NET framework.  It allows designers to be more involved in the development process via declarative programming models (see XAML below).

DESIGN PRINCIPLES:

Integration: Seamless integration between base services, media services, document services, and UI services

Vector graphics: WPF takes full advantage of the powerful new Graphical Processing Units (GPUs) with vector graphics, a large pixel system, and extensive color support.  It offers resolution independence.  It also has great support for layout, which adapts to content and manages the position of controls and items within a window.

Declarative programming: WPF uses XAML (eXtensible Application Markup Language) for defining and building the UI.  Allows designers and developers to work more closely

Easy deployment: Supports both stand-alone apps and web-browser apps

Document lifecycle: Supports new document and print technologies

XAML

XAML is not required for WPF; it is merely a conventient shorthand for UI programming.  Anything written in XAML can also be written in C# or VB. 
It is intended to be used alongside a traditional programming language.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.