170 likes | 288 Views
Ivan Towlson Mindscape. Building User Interfaces in .NET with Windows Presentation Foundation. Agenda. User interface technologies in .NET WPF tiki tour Practicalities. User Interface Options in .NET. Windows Forms ASP.NET GDI+ Rich documents (HTML, Adobe Reader) Media
E N D
Ivan Towlson Mindscape Building User Interfaces in .NET with Windows Presentation Foundation
Agenda • User interface technologies in .NET • WPF tiki tour • Practicalities
User Interface Options in .NET • Windows Forms • ASP.NET • GDI+ • Rich documents (HTML, Adobe Reader) • Media • Windows Presentation Foundation • Silverlight
What is WPF? • Umbrella framework for getting input from, or getting output to, users • Unifies forms, graphics (2D and 3D), documents and media • Take advantage of graphics cards even in normal applications • First-class support for markup
Tiki Tour of WPF • XAML • Layout • Controls • Commands and events • Styles and templates • Data binding • Animation • Navigation
Layout • The death of absolute positioning • Panels and documents • What are X, Dock and Row properties of?
Controls and Visuals • Content models • Graphics • Transforms and animation
Styles and Templates • Control = Behaviour + Rendering • Rendering = Visual Tree + Style • Custom controls vs. control templates
Data Binding • Binding to a data object • Binding to a collection • Binding to other controls • The awesome power of a fully operational data template
Events and Commands • Routed events and the tunnel/bubble model • Built-in commands • Custom commands
Application Models • Window applications • Navigation applications • Navigation, XBAP and the browser • Structured navigation
Practicalities • Interoperability and migration • Design issues – best practices, how do we structure WPF programs, etc. • Tools • Is WPF right for my project?
Migration • Adding WPF UI to a WinForms/Win32 application • Reusing WinForms/Win32 UI in a WPF application
Tools • Visual Studio 2005 via add-in • Visual Studio 2008 • Expression Blend • ZAM 3D and other third-party tools
Should I Use WPF? • Development considerations: documentation, tools, third-party / community support • Project management considerations: availability of developers, skill levels required • Deployment considerations: OS, rollout, perf • WPF has a huge payoff in terms of productivity and especially in making it simple to step up from “GUI green screens” to visualisation
Thanks! • Sells & Griffiths, “Programming WPF” 2e • Petzold, “Applications = Code + Markup” • Nathan, “WPF Unleashed” • Anderson, “Essential WPF” ivan@mindscape.co.nz http://www.mindscape.co.nz ivan@hestia.cc http://hestia.typepad.com/flatlander