Transcript Building User Interfaces in .NET with Windows Presentation
Ivan Towlson Mindscape
User interface technologies in .NET
WPF tiki tour Practicalities
Windows Forms ASP.NET
GDI+ Rich documents (HTML, Adobe Reader) Media Windows Presentation Foundation Silverlight
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
XAML Layout Controls Commands and events Styles and templates Data binding Animation Navigation
The death of absolute positioning Panels and documents What are X, Dock and Row properties of?
Content models Graphics Transforms and animation
Control = Behaviour + Rendering Rendering = Visual Tree + Style Custom controls vs. control templates
Binding to a data object Binding to a collection Binding to other controls The awesome power of a fully operational data template
Routed events and the tunnel/bubble model Built-in commands Custom commands
Window applications Navigation applications Navigation, XBAP and the browser Structured navigation
With great power...
Interoperability and migration Design issues – best practices, how do we structure WPF programs, etc.
Tools Is WPF right for my project?
Adding WPF UI to a WinForms/Win32 application Reusing WinForms/Win32 UI in a WPF application
Visual Studio 2005 via add-in Visual Studio 2008 Expression Blend ZAM 3D and other third-party tools
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
Sells & Griffiths, “Programming WPF” 2e Petzold, “Applications = Code + Markup” Nathan, “WPF Unleashed” Anderson, “Essential WPF” [email protected]
http://www.mindscape.co.nz
[email protected] http://hestia.typepad.com/flatlander