MULTIMEDIA

Introducing WPF

7/25/2010 5:11:04 PM
I_section1_d1e427.html
WPF

Some time ago, the folks at Microsoft sat down and designed the next generation of UI technology for the Vista operating system. The system would be vector-based and use XML. The final system is called Windows Presentation Foundation (WPF).

WPF is an integral part of all .NET Framework versions beginning with version 3.0, which is installed by default on Windows Vista and is an additional download for Windows XP and Windows 2003. Other parts of .NET 3.0 include:


WCF (Windows Communication Foundation)

Communication subsystem


WCS (Windows CardSpace)

Digital identity subsystem


WF (Windows Workflow Foundation)

Workflow subsystem

WPF applications either run in the browser or as standalone desktop applications. Both scenarios require that .NET Framework 3.0 or higher is available. Currently, most WPF applications are standalone because Vista does not have a high market penetration, limiting the number of PCs on which WPF can run, and because .NET 3.0 is a sizeable download. This is a key reason for why Microsoft created Silverlight, a similar technology targeted at the browser world. Let's take a closer look at WP more background information.

The main focus of WPF is in vector graphics, but pixelated graphics are supported as well. WPF also supports multimedia content in forms of audio and video data. One of the highlight features is the support for text, which includes some typographical specialties such as justified text, kerning, and ligatures.

It is certainly no surprise that most WPF coding is done using .NET languages such as C# and Visual Basic. The .NET Framework—or to be exact, the CLR (Common Language Runtime)—defines every possible type of element in a WPF application and enables a good development experience in Visual Studio (think IntelliSense) and rapid prototyping.

Already, several WPF prototype applications, including several "virtual newspapers," are available that showcase text flow, such as the Forbes.com reader (see Figure 1; download it at http://www.forbes.com/partners/microsoft/newsreader/). The next version of Yahoo! Messenger will also feature a slick WPF interface.

Vector Graphics and XML

There were (and still are) several other projects trying to create vector graphics (and maybe some animation or business logic support) using XML. One of the oldest is the World Wide Web Consortium's (W3C) Scalable Vector Graphics (SVG). SVG graphics are created using XML, support scripting, and are supported by most modern browsers except Internet Explorer. However, SVG has not reached mainstream market penetration yet, so it is successful only in some niche markets, including mobile phones and cartography.

Another related approach comes from Adobe. Flex uses yet another XML dialect (called MXML) to dynamically create Flash content.


Figure 1. The Forbes newsreader uses WPF


Other  
 
Top 10
Installing the Exchange Server 2010 prerequisites
Algorithms for Compiler Design:
Business Intelligence in SharePoint 2010 with Business Connectivity Services : Consuming External Content Types (part 3) - Business Connectivity Services Web Parts
Windows Azure : Static reference data (part 2) - Performance disadvantages of a chatty interface & Caching static data
The Membership Data Store
Optimizing an Exchange Server 2010 Environment - Analyzing and Monitoring Core Elements
Algorithms for Compiler Design: IMPLEMENTATION in Bottom-up Parsing
Collaborating Within an Exchange Server Environment Using Microsoft Office SharePoint Server 2007 : Customizing and Developing MOSS Sites
Microsoft Malicious Software Removal Tool
Modifying Display Appearance and Video Settings
Most View
BizTalk 2006 : Building a Resequencing Aggregator
Windows Server 2008 : Transport-Level Security - Using IPSec Encryption with Windows Server 2008 R2
Windows 7 : Understanding User Account Control and Its Impact on Performance
Algorithms for Compiler Design: THE LR PARSER
Port-Binding Shellcode
Building Android Apps: Web SQL Database (part 4) - Deleting Rows
Silverlight : Play a Video
Windows Phone 7 Development : Understanding Trial and Full Modes (part 1) - Using the IsTrial Method
iPhone Application Development : Understanding Interface Builder
Server 2008 : Hardening Server Security
Managing Local User Accounts and Groups in Vista
Using Windows Phone 7 Technologies : Retrieving Accelerometer Data (part 1)
iPhone Application Development : Creating User Interfaces
Programming with DirectX : Textures in Direct3D 10 (part 1) - Textures Coordinates
Installing SQL Server 2008
Defensive Database Programming with SQL Server: The Ticket-Tracking System (part 2) - Removing the performance hit of ON UPDATE CASCADE
Android’s Securable IPC Mechanisms
Windows 7 :Navigating Your Computer with the Address Bar (part 1) - Accessing Locations on Your Computer
Advanced ASP.NET : Component-Based Programming - The ObjectDataSource
Windows 7 : Using Advanced Security Options (part 2) - Configuring Windows Defender