Upload
marion-ramsey
View
220
Download
1
Embed Size (px)
DESCRIPTION
Silverlight for Windows Phone
Citation preview
Building Windows Phone Applications with Silverlight
Jaime Rodriguezhttp://blogs.msdn.com/jaimer @jaimerodriguez
Agenda
Introduction App model
Navigation Events
Phone Controls Panorama Pivot Web Browser Bing Maps Control DeepZoom Templates and Styles
OS and in-box App Integration
Silverlight for Windows Phone
3
AppModel
PicturesTake a look at recent photos
PeopleLook up the status
for a contact
PicturesContinue looking at recent photos
UI Navigation: Example
Navigation
PhoneApplicationFrame PhoneApplicationPage
PhoneApplicationPage
More than the container for units of navigation OnChooserReturn OnOrientationChanged OnNavigatedFrom OnNavigatedTo OnBackKeyPress
Back key
Lets the user to return to previously-viewed screens
Can go back across applications
Not used for application-specific behaviour
Demo
Application Navigation
Application events
Obscuring Activation
a world of constant interruptionsphone calls
App
switchtxt
msgs :-)
reminders
low
batterylock scree
n
Not runnin
g
Start
Running
Exit
basic application lifetime
• Obscured• Paused
obscured: popup ui from shell
Running
Obscured
Running
Unobscured
Games could auto-pause
Game could auto-resume
• Phone call
• Reminder• Battery
low
Not in the Mix build
paused: jump to another app
Running
Pause
Suspended
Resume
Assume your process is killed
Save state for later use
Load state to continue where you left off
Not in the Mix build
User never knows what happened :-)
• Start Button
• Accept call• Open toast
Demo
Pause and Exit
Windows Phone Controls
Panorama
Panorama
Pivot
ApplicationBar & SystemTray
SystemTray No integration, but does affect
Layout Show:Hide using
SystemTray.IsVisible
ApplicationBar Buttons (up to 4) Menu Items ( recommend 6) Toggle: <mypage>.ApplicationBar.IsVisible
Web Browser Control
Displays network and local content Supports pan, double tap and pinch to zoom Supports transforms & projections
No Input on transform Application can interact with javascript Optimized for privacy
Script is disabled by default Cookies and cache are isolated
Silverlight to Script
function runScriptStuff(arg1, arg2){ return “awesome”; }
string out = wb.InvokeScript("runScriptStuff", arg1, arg2);
Silverlight
javascript
Script to Silverlight
window.external.Notify(string);
void wb_ScriptNotify(object s, NotifyEventArgs e){ string return = e.Value;}
Silverlight
javascript
Demo
Web Browser Control
MultiScaleImage ( aka deepzoom)
Included in core run-time Optimized to take advantage of GPU Consumes same content as SL on desktop Supported for Online content
not isolated storage or embedded content No oob gesture support
Manipulation APIs make this easy though
OS and hub integration
Integrating with the OS
Hub integration Enhance the built in hubs with your application
Launchers let you fire and forget to an OS app SMS, email, web browser, maps, dialer, search, etc
Choosers are like an open file dialog Launches an OS experience for letting the user choose
data for the app Picture, contact, camera, etc
Launchers & Choosers
Launchers CameraCaptureTask MarketplaceLauncher MediaPlayerLauncher PhoneCallTask SaveEmailAddressTask SavePhoneNumberTask SearchTask EmailComposeTask SMSComposeTask WebBrowserTask
Choosers PhoneNumberChooserTas
k PhotoChooserTask EmailAddressChooserTas
k
Demo
Launchers
Isolated Storage
Compatible APIs with Silverlight on desktop No quota limits Not shared (ever)
No write access to Media Library, use XNA for that
Use for your application settings
Thanks!! Questions?