Upload
clint-edmonson
View
2.756
Download
2
Embed Size (px)
Citation preview
Windows Presentation Foundation
Clint EdmonsonArchitect [email protected]
blog: www.notsotrivial.nettwitter: @clinted
What isWindows Presentation
Foundation?
“WPF”
Why Was WPF Created?
UX
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
A Metaphor
“It just works!”
Another Metaphor
How Does WPF Solve This Problem?
Developers and designers exist in two different time-space
continuums
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
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
Features 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
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
When Should I Use WPF?
You should be in a rich-client application
environment when…
You want your client to be front and center with your
customers
You want to take advantage of local system resources
You’re building a ‘widget’ application
You need to integrate closely with the desktop
You need complete control over the entire user interface or brand
What are my deployment options?
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
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
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
Who’s Using WPF?
How Do I Build WPF Applications?
Demo:A Walk Through
WPF Developmentin Expression Blend 2
and Visual Studio 2008
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.
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
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
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
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
Where Can I Learn More?
www.microsoft.com/design
www.microsoft.com/expression
Where to learn more
WindowsClient.net/GetStarted
Where to learn more
Nibblestutorials.net
Where to learn more
www.visitmix.com
Windows Presentation Foundation
Clint EdmonsonArchitect [email protected]
blog: www.notsotrivial.nettwitter: @clinted