61
Windows Presentation Foundation Clint Edmonson Architect Evangelist [email protected] blog: www.notsotrivial.net twitter: @clinted

An Overview Of Wpf

Embed Size (px)

Citation preview

Page 1: An Overview Of Wpf

Windows Presentation Foundation

Clint EdmonsonArchitect [email protected]

blog: www.notsotrivial.nettwitter: @clinted

Page 2: An Overview Of Wpf

What isWindows Presentation

Foundation?

Page 3: An Overview Of Wpf

“WPF”

Page 4: An Overview Of Wpf

Why Was WPF Created?

Page 5: An Overview Of Wpf

UX

Page 6: An Overview Of Wpf

Design is Inevitable

6

“Questions about whether design is necessary or affordable are quite beside the point: design is inevitable.

The alternative to good design is bad design, not no design at all.”

Douglas Martindesigner

Page 7: An Overview Of Wpf
Page 8: An Overview Of Wpf
Page 9: An Overview Of Wpf
Page 10: An Overview Of Wpf
Page 11: An Overview Of Wpf

A Metaphor

Page 12: An Overview Of Wpf
Page 13: An Overview Of Wpf

“It just works!”

Page 14: An Overview Of Wpf

Another Metaphor

Page 15: An Overview Of Wpf
Page 16: An Overview Of Wpf
Page 17: An Overview Of Wpf
Page 18: An Overview Of Wpf
Page 19: An Overview Of Wpf
Page 20: An Overview Of Wpf
Page 21: An Overview Of Wpf
Page 22: An Overview Of Wpf

How Does WPF Solve This Problem?

Page 23: An Overview Of Wpf

Developers and designers exist in two different time-space

continuums

Page 24: An Overview Of Wpf
Page 25: An Overview Of Wpf

designers & developers: Speak the same language

Designer/developer experience

designers design

designers & developers: Speak different languages

developers add business logic

designer developer

The new way for designers and developers to work together

Page 26: An Overview Of Wpf

Declarative & Programming Development•Easily toolable, declarative markup

•Code and content are separate•Can be rendered in the browser / standalone application

<Button Width="100"> OK <Button.Background> LightBlue </Button.Background></Button>

XAML

Button b1 = new Button();b1.Content = "OK";b1.Background = new SolidColorBrush(Colors.LightBlue);b1.Width = 100;

C#

Dim b1 As New Buttonb1.Content = "OK"b1.Background = New _ SolidColorBrush(Colors.LightBlue)b1.Width = 100

VB.NET

Page 27: An Overview Of Wpf

Features Of WPF?

Page 28: An Overview Of Wpf

- Rich, mature control set- TextBox, Checkbox, ComboBox, Border, MediaElement

- Animation, triggers, timelines- Styles and embedded resources- Layout panels- Databinding- 2D, 3D and imaging- ClearType and antialiasing- Interoperability- Document services

Page 29: An Overview Of Wpf

Property EngineInput / Eventing

System

.NET Framework 2.0

Desktop Windows Manager

Media Integration LayerMedia Integration Layer

DirectX

Windows Vista Display Driver (LDDM)

Windows Media Foundation

Composition Engine

Print Spooler

ManagedUnmanaged

Application Services

Deployment Services

Databinding

USER INTERFACE SERVICES

XAML

Accessibility

Property System

Input & Eventing

BASE SERVICES

DOCUMENT SERVICES

Packaging Services

XPS Documents

Animation

2D

3D

AudioImaging

Text

VideoEffects

Composition Engine

MEDIA INTEGRATION LAYER

Controls

LayoutW

ind

ow

s P

rese

nta

tio

n F

ou

nd

atio

n

XP

S V

iew

er

Page 30: An Overview Of Wpf

When Should I Use WPF?

Page 31: An Overview Of Wpf

You should be in a rich-client application

environment when…

Page 32: An Overview Of Wpf

You want your client to be front and center with your

customers

Page 33: An Overview Of Wpf

You want to take advantage of local system resources

Page 34: An Overview Of Wpf

You’re building a ‘widget’ application

Page 35: An Overview Of Wpf

You need to integrate closely with the desktop

Page 36: An Overview Of Wpf

You need complete control over the entire user interface or brand

Page 37: An Overview Of Wpf

What are my deployment options?

Page 38: An Overview Of Wpf

Stand-alone installation

• Uses standard install tools• Installed locally to Program Files• Available to all users on the machine• Full access to local computer and

network resources• Windows OS only

Page 39: An Overview Of Wpf

XML Browser App (XBAP)

• Install and run apps by clicking a URI• WPF application docked inside the browser window• Saved to isolated storage on local machine• Must be signed• Always auto updated• Must be run while online• Windows OS only• .NET 3.0 and up• Full framework available (depending on trust

levels)• Firefox support added in .NET 3.5 & Firefox 3

Page 40: An Overview Of Wpf

Click-Once

• Install and run apps by clicking a URI• May be installed locally or run from web every time• Installed on a per-user basis• Must be signed• Saved to isolated storage on local machine• Supports automatic updating• Can run when offline• Windows OS only• .NET 2.0 and up• Full framework available (depending on trust levels)• Firefox support added in .NET 3.5 & Firefox 3

Page 41: An Overview Of Wpf

Who’s Using WPF?

Page 43: An Overview Of Wpf
Page 44: An Overview Of Wpf
Page 45: An Overview Of Wpf
Page 46: An Overview Of Wpf
Page 47: An Overview Of Wpf

How Do I Build WPF Applications?

Page 48: An Overview Of Wpf
Page 49: An Overview Of Wpf

Demo:A Walk Through

WPF Developmentin Expression Blend 2

and Visual Studio 2008

Page 50: An Overview Of Wpf

Whether you are designing rich standards-based websites, ultimate experiences on the desktop, or managing digital assets and content, Expression professional design tools give you the flexibility and freedom to bring your vision to reality.

Page 51: An Overview Of Wpf

Expression Blend

Your Sandbox Just Got Bigger– Design stunning Windows

applications that blend the best of the web and desktop

– Collaborate with developers using Visual Studio for a new level of designer-developer productivity

Art, Meet Science– Mix a full spectrum of

design elements including vector art, pixel images, high quality text, video, and real 3D content

– Full toolbox of advanced controls and containers for building compelling user interfaces

Go Beyond the Browser– Harness the full power of

Windows Vista, from desktop to the browser

– Deliver the ultimate user experiences with rich graphics, animation, and interactive UI

Page 52: An Overview Of Wpf

Expression Design

Expand Your Portfolio– Design UI elements for

Windows applications– The perfect companion for

Expression Blend

Designed for Design– Modern UI built from the

ground up with the professional designer in mind

– Powerful vector drawing tools and non-destructive effects

Your Vision, Uncompromised– Ensure design integrity

thanks to end-to-end XAML workflow

– Export your visual designs as XAML code, ready to use in interface design and control skinning

Page 53: An Overview Of Wpf

Expression Media

Tame Your Media– Manage all of your media

assets in one place with extensive annotations, metadata, search, and browsing (even while offline)

– Support for over 100 different media formats and file types, including images, fonts, and video

Your Workflow,Enhanced– Rename, convert, tag, and

batch process files quickly, and use powerful search to find and retrieve the files you need

– Edit images and keep track of changes with version control and folder watching

Presentation is Everything– Export files to multiple

formats,build slide shows and videos, or create professional Web galleries

– Includes Expression Media Encoder, for conversion,enhancement, and compression of rich Web video

Page 54: An Overview Of Wpf

Expression Media Encoder

Tame your Video Compression Workflow– Batch import WMV, AVI,

MPEG, QT, and more via plug-ins.

– Integrate easily into existing workfow

– Powerful command-line encoder for application and server-based integration

Enhance Effortlessly– Trim, crop, resize, add

bumpers, markers, overlays, and more to your video

– Professional effects and alpha compositing support

– Extensible metadata management for asset tracking

Publish for the Web and beyond– Stunning quality with Emmy®

Award winning Windows Media & SMPTE VC-1 compression

– Customizable publishing profiles for desktop, Web, and devices.

– Template-based “WPF/E” publishing for cross-platform, cross-browser playback

a feature of Expression Media

Page 55: An Overview Of Wpf

Where Can I Learn More?

Page 56: An Overview Of Wpf

www.microsoft.com/design

www.microsoft.com/expression

Where to learn more

Page 57: An Overview Of Wpf

WindowsClient.net/GetStarted

Where to learn more

Page 58: An Overview Of Wpf

Nibblestutorials.net

Where to learn more

Page 59: An Overview Of Wpf

www.visitmix.com

Page 60: An Overview Of Wpf

Windows Presentation Foundation

Clint EdmonsonArchitect [email protected]

blog: www.notsotrivial.nettwitter: @clinted

Page 61: An Overview Of Wpf