September 2007 Copyright Microsoft Corporation 2007. All rights reserved

Download 108.49 Kb.
Size108.49 Kb.
  1   2   3   4

Introducing Windows Presentation

chappell_logo_icon.jpg David Chappell, Chappell & Associates

September 2007

© Copyright Microsoft Corporation 2007. All rights reserved.


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.

  1. Displaying and updating two-dimensional graphics showing the patient’s vital signs, such as heart rate and blood pressure.

  2. Providing three-dimensional views and overlays of patient information.

  3. Presenting video of ultrasounds and other diagnostics, perhaps allowing physicians and nurses to add annotations.

  4. 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:

  1. 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.

  2. 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.

Download 108.49 Kb.

Share with your friends:
  1   2   3   4

The database is protected by copyright © 2020
send message

    Main page