Introducing Windows Presentation
Foundation
David Chappell, Chappell & Associates
September 2007
© Copyright Microsoft Corporation 2007. All rights reserved.
Contents
Describing Windows Presentation Foundation 4
Describing Windows Presentation Foundation 4
Illustrating the Problem 4
Addressing the Problem: What Windows Presentation Foundation Provides 5
A Unified Platform for Windows-Based User Interfaces 6
The Ability for Developers and Designers to Work Together 10
Interoperability with Existing User Interface Technologies 11
Using Windows Presentation Foundation 13
Using Windows Presentation Foundation 13
The Technology of Windows Presentation Foundation 13
Application Model 13
Layout and Controls 15
Styles and Templates 17
Text 18
Documents 19
Images 21
Video and Audio 21
Two-Dimensional Graphics 22
Three-Dimensional Graphics 23
Transformation and Effects 25
Animation 25
Data Binding 27
User Interface Automation 27
Interfaces for Add-ins 28
Applying Windows Presentation Foundation 29
Standalone WPF Applications 29
XAML Browser Applications: XBAPs 29
XPS Documents 30
Tools for Windows Presentation Foundation 33
Tools for Windows Presentation Foundation 33
For Developers: Visual Studio’s WPF Designer 33
For Designers: Expression Blend 35
Choosing an Interface Technology 37
Choosing an Interface Technology 37
Interfaces for Windows Applications: WPF and Windows Forms 37
Standards-Based Web Interfaces: ASP.NET and ASP.NET AJAX 39
Rich Internet Applications: Silverlight 40
Conclusion 41
Conclusion 41
For Further Reading 42
For Further Reading 42
About the Author 43
About the Author 43
Describing Windows Presentation Foundation
Nothing is more important than a user’s experience of an application. While many software professionals are more interested in how an application works, its users care deeply about its user interface. An application’s interface is a major part of the complete user experience with that software, and to many of its users, the experience is the application. Providing a better experience through a better interface can improve productivity, help create loyal customers, increase sales on a Web site, and more.
Once happy with purely character-based interfaces, users have now become accustomed to graphical interfaces. Yet the requirements for user interfaces continue to advance. Graphics and media have become more widely used, and the Web has conditioned a generation of people to expect easy interaction with software. The more time people spend interacting with applications, the more important the interfaces to those applications become. To keep up with increasing expectations, the technology used to create user interfaces must also advance.
The goal of Windows Presentation Foundation (WPF) is to provide these advances for Windows. First included in version 3.0 of Microsoft’s .NET Framework, an enhanced version of the technology is now part of the .NET Framework 3.5. Using WPF, developers and designers can create interfaces that incorporate documents, media, two- and three-dimensional graphics, animations, and much more. Like everything else in the .NET Framework 3.5, WPF is available for Windows Vista, Windows XP, Windows Server 2003, and Windows Server 2008. This paper introduces WPF, describing its various parts. The intent is to make clear the problems this technology addresses, then survey the solutions that WPF provides.
Illustrating the Problem
Suppose a hospital wants to create a new application for examining and monitoring patients. The requirements for this new application’s user interface might include the following:
Displaying images and text about the patient.
-
Displaying and updating two-dimensional graphics showing the patient’s vital signs, such as heart rate and blood pressure.
-
Providing three-dimensional views and overlays of patient information.
-
Presenting video of ultrasounds and other diagnostics, perhaps allowing physicians and nurses to add annotations.
-
Allowing hospital staff to read and make notations on documents describing the patient and her condition.
These requirements are ambitious, but they’re not unreasonable. User interfaces that present the right information in the right way at the right time can have significant business value. In situations such as the health care example described here, they can actually save lives. In less critical scenarios, such as on-line merchants or other consumer-oriented applications, providing a powerful user experience can help differentiate a company’s offerings from its competitors, increasing both sales and the value of the firm’s brand. The point is that many modern applications can benefit from providing interfaces that integrate graphics, media, documents, and the other elements of a modern user experience.
Building this kind of interface on Windows is possible with the technologies that preceded WPF, but it’s remarkably challenging. Two of the major hurdles are:
-
Many different technologies have been used for working with graphics, images, and video. Finding developers who are competent to work with these diverse technologies can be difficult and expensive, as is maintaining the applications they create.
-
Designing an interface that effectively presents all of this functionality to users is hard. Professional designers are required—software developers commonly don’t have the right skills—but designers and developers face significant challenges in working together, especially with full-featured interfaces like the one described here.
There’s no inherent reason why creating powerful, modern user interfaces should be so complex. A common foundation could address all of these challenges, offering a unified approach to developers while letting designers play an important role. As described next, this is exactly the intent of WPF.
Share with your friends: |