![Page 1: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/1.jpg)
DEV339: Creating Windows and Web Applications with WPF (DEV339)
Ian GriffithsIndependent Consultant & Pluralsight Instructor
http://www.interact-sw.co.uk/iangblog/
![Page 2: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/2.jpg)
Applications in WPFApplication-level considerations
• Application lifecycle
• User Experience model
• Hosting – web or standalone?
![Page 3: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/3.jpg)
Application Object
• Application life cycle
• Startup, shutdown
• Activation, deactivation
• Error handling
• Application state
• Basic window management
![Page 4: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/4.jpg)
Application State
• File system
• Registry
• Configuration manager
• Isolated storage
• Cookies
![Page 5: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/5.jpg)
The Application ObjectIsolated Storage
![Page 6: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/6.jpg)
Application User Experience Models
SDI or single window MDI
Navigation Tabbed Navigation
![Page 7: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/7.jpg)
SDI, Multi-SDI, and Dialog UX
• No real difference between SDI and Dialog in WPF
• Simplest to create
• Just use Window class
![Page 8: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/8.jpg)
Creating SDI, Dialog, etc. UX
![Page 9: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/9.jpg)
Basic Navigation
• Use Page and Hyperlink
• Various hosting options
• Frame
• NavigationWindows
• Browser
![Page 10: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/10.jpg)
Navigation
![Page 11: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/11.jpg)
Structured Navigation
• Basic navigation limitations
• Hyperlink = GOTO
• Tyranny of the Back button
• Structured navigation: PageFunction
![Page 12: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/12.jpg)
Structured Navigation
![Page 13: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/13.jpg)
Application Hosting StylesDeployment
• Standalone windows app
• Classic MSI
• ClickOnce
• Browser-hosted (XBAP)
• Loose XAML
![Page 14: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/14.jpg)
Standalone Applications
• Installed
• Can run offline
• Provide their own windows
• May have full trust
• MSI-installed apps will
• ClickOnce apps typically don’t
![Page 15: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/15.jpg)
XBAP
• Web deployment and UX
• No installation step
• Run inside browser frame
• Online only
• Same WPF API as standalone
• Most WPF capabilities
• Some security restrictions
![Page 16: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/16.jpg)
Partial Trust
• .NET CAS
• XBAP sandbox non-negotiable
• Also subject to Low Rights IE Sandbox on Vista
• ClickOnce sandbox subject to configuration
![Page 17: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/17.jpg)
XBAP
![Page 18: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/18.jpg)
Summary / Call to Action
• Application lifecycle
• User Experience
• Standalone and XBAP
![Page 19: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/19.jpg)
Resources
• Windows SDK:
• Blogs
• http://laurenlavoie.com/avalon/
• http://nerddawg.blogspot.com
• http://scorbs.com/work/
![Page 20: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/20.jpg)
![Page 21: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/21.jpg)
Ask The ExpertsGet Your Questions Answered
You can find me at the Microsoft Ask the Experts area, located in the Exhibition Hall:
Wednesday 8 November Lunch
![Page 22: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/22.jpg)
![Page 23: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/23.jpg)
![Page 24: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor](https://reader035.vdocuments.mx/reader035/viewer/2022070403/56649f335503460f94c4f6b5/html5/thumbnails/24.jpg)
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.