170 likes | 298 Vues
This guide delves into user interface technologies within .NET, particularly focusing on Windows Presentation Foundation (WPF). It covers practical aspects like layout, controls, data binding, and navigation. Discover how WPF unifies forms, graphics, and media to enhance user interaction. Learn essential design principles, tools, and best practices, including how to incorporate WPF into existing WinForms applications. Whether you're migrating to WPF or starting anew, this resource is invaluable for optimizing your application's user experience.
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