200 likes | 610 Views
Windows Presentation Foundation (WPF). Marcus Perryman http://blogs.msdn.com/marcpe mailto:marcus.perryman@microsoft.com. What’s Windows Presentation Foundation?. Visually stunning user interfaces Themes Unified programming model Declarative programming Integrated designer tools. Agenda.
E N D
Windows Presentation Foundation (WPF) Marcus Perryman http://blogs.msdn.com/marcpe mailto:marcus.perryman@microsoft.com
What’s Windows Presentation Foundation? • Visually stunning user interfaces • Themes • Unified programming model • Declarative programming • Integrated designer tools
Agenda • What is Windows Presentation Foundation? • What can it do? • How can I make it do that? • Ok, so how did you build the Nugget Viewer?
What’s Windows Presentation Foundation? • Next generation presentation subsystem for Windows • Unified programming model • Harness the power of new graphics hardware • Provide designers direct input into project development Enables developers and designers to create visually stunning user interfaces
DirectX HTML HTML GDI+ Win Forms Word GDI Web Forms PDF MFC VB Forms Media Player WPF: Programming Model Unification Unified WPF API Documents User Interface Media
WPF: Using the Hardware • Vector-based composition engine uses the PC’s graphics power • Quality is preserved with scale • CPU freed from graphics work • Gain capability from graphics card advances
WPF: Common Design Language • Declarative design model links designers and developers
Direct 3D USER32 WPF Architectural Sketch PresentationFramework PresentationCore Composition Engine
My First WPF Application Demo WinFX Feb CTP
Compile and Run Load, Parse, Display 0101010 0101010 BAML Parse Load, Display <Button Width="100"> OK <Button.Background> LightBlue </Button.Background> </Button> Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; XAML or Code?
Class Compile and Run Partial Class Public Button b1; Public Button b2; Load (“My.Baml”) 0101010 0101010 My.Baml <Button Width="100"> OK <Button.Background> LightBlue </Button.Background> </Button> Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; Parse & Generate XAML or Code? ‘Code Behind’
Adding WPF to Existing WinForms Applications Demo WinFX Feb CTP
What Can It Do? Text Animation 3D Data Binding • Drawing • Painting • Controls • Layout • Document interface
WPF Capabilities Demo WinFX Feb CTP
How Can I Make It Do That?Tools for Building WPF Applications • Edit XAML directly in your favourite text editor (e.g. notepad) • It’s verbose and has strict semantics • Tricky to get the settings right • Developers: • Visual Studio 2005 with ‘WinFX’ extension • Windows SDK and XamlPad application • Designers / Developers: • Microsoft Expression Interactive Designer (Sparkle) • 3rd Party tools like Electric Rain’s Zam3D
Design Tools Demo WinFX Feb CTP Expression ID March CTP
Roadshow Nugget Viewer • Using Templates • Databinding • Using 3D effects • Interacting with code • Using the object model
Building the Nugget Viewer Demo WinFX Feb CTP Expression ID March CTP
Where Next? WPF http://msdn.microsoft.com/winfx/reference/presentation WinFX http://msdn.microsoft.com/winfx http://www.roadtowinfx.com
© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.