Top Banner
DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor http://www.interact-sw.co.uk/iangblo g /
24

DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor

Jan 05, 2016

Download

Documents

Spencer Dixon
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor

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

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

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

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

The Application ObjectIsolated Storage

Page 6: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor

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

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

Creating SDI, Dialog, etc. UX

Page 9: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor

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

Navigation

Page 11: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor

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

Structured Navigation

Page 13: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor

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

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

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

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

XBAP

Page 18: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor

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

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
Page 21: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor

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
Page 23: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor
Page 24: DEV339: Creating Windows and Web Applications with WPF (DEV339) Ian Griffiths Independent Consultant & Pluralsight Instructor

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.