SlideShare a Scribd company logo
1 of 60
Build great apps for Xbox
with XAML and C#
Jason Short, PhD | @infinitecodex
Senior Program Manager
https://aka.ms/xboxappdevcode
Reach every Windows device with one app
What-you-see-is-what-you-get platform
Easily tailor your app to be great on the device
Universal Windows Platform XAML apps on your desktop
Deploy to Xbox
360 x 640
Optimizing for size and TV safe area
Button Left Stick/D-pad
Behavior Move Focus
Button Left Stick/D-pad A/Select
Behavior Move Focus “Click”
Button Left Stick/D-pad A/Select B/Back
Behavior Move Focus “Click” Go Back
Button Left Stick/D-pad A/Select B/Back Menu
Behavior Move Focus “Click” Go Back Show Context
Menu
Button Left Stick/D-pad A/Select B/Back Menu View
Behavior Move Focus “Click” Go Back Show Context
Menu
Show Panes or
Switch Views
Button Left Stick/D-pad A/Select B/Back Menu View
Behavior Move Focus “Click” Go Back Show Context
Menu
Show Panes or
Switch Views
Button Behavior How
Left Stick/D-pad Move Focus <Application RequiresPointer="WhenRequested">
Button Behavior How
Left Stick/D-pad Move Focus <Application RequiresPointer="WhenRequested">
A/Select “Click”
Use standard controls like Button, ListView, MenuFlyout, etc. to get
this by default.
If building custom controls, respond to Spacebar key events.
Button Behavior How
Left Stick/D-pad Move Focus <Application RequiresPointer="WhenRequested">
A/Select “Click”
Use standard controls like Button, ListView, MenuFlyout, etc. to get
this by default.
If building custom controls, respond to Spacebar key events.
B/Back Go Back
Respond to standard SystemNavigationManager.BackRequested
events when implementing back navigation
Button Behavior How
Left Stick/D-pad Move Focus <Application RequiresPointer="WhenRequested">
A/Select “Click”
Use standard controls like Button, ListView, MenuFlyout, etc. to get
this by default.
If building custom controls, respond to Spacebar key events.
B/Back Go Back
Respond to standard SystemNavigationManager.BackRequested
events when implementing back navigation
Menu Show Context Menu
Set up context menus using ContextFlyout property or in response to
ContextRequested events.
Button Behavior How
Left Stick/D-pad Move Focus <Application RequiresPointer="WhenRequested">
A/Select “Click”
Use standard controls like Button, ListView, MenuFlyout, etc. to get
this by default.
If building custom controls, respond to Spacebar key events.
B/Back Go Back
Respond to standard SystemNavigationManager.BackRequested
events when implementing back navigation
Menu Show Context Menu
Set up context menus using ContextFlyout property or in response to
ContextRequested events.
View
Show Panes or Switch
Views
Respond to GamepadView and NavigationView key events.
Button L/R Trigger
Behavior Page up/down
Button L/R Trigger L/R Bumper
Behavior Page up/down Page left/right
Button L/R Trigger L/R Bumper Right stick
Behavior Page up/down Page left/right Pan
Button L/R Trigger L/R Bumper Right stick X, Y
Behavior Page up/down Page left/right Pan App appropriate
shortcuts
Button L/R Trigger L/R Bumper Right stick X, Y Pause, Play, etc.
Behavior Page up/down Page left/right Pan App appropriate
shortcuts
Control media
playback
IsTabStop=true & Visibility=Visible
page.GotFocus
FocusManager.GetFocusedElement
Debug.WriteLine
Mouse Mode and Optimize for Gamepad and Remote
On by default for apps targeting Windows
10 Anniversary Update
Application.FocusVisualKind="HighVisibility"
Can be tuned on a per-element basis
FocusVisualMargin
FocusVisualPrimaryBrush
FocusVisualPrimaryThickness
FocusVisualSecondaryBrush
FocusVisualSecondaryThickness
Engagement Mode and Focus Visuals
Optimizing for the TV-safe colors and sounds
#xboxappdevaka.ms/xboxappdev

More Related Content

Viewers also liked

Build 2016 - T666 - Interactive Analytics with Application Insights
Build 2016 - T666 - Interactive Analytics with Application InsightsBuild 2016 - T666 - Interactive Analytics with Application Insights
Build 2016 - T666 - Interactive Analytics with Application InsightsWindows Developer
 
Build 2016 - P447 - Hosted Web Apps Myth #4: Hosted Web Apps Take Too Long to...
Build 2016 - P447 - Hosted Web Apps Myth #4: Hosted Web Apps Take Too Long to...Build 2016 - P447 - Hosted Web Apps Myth #4: Hosted Web Apps Take Too Long to...
Build 2016 - P447 - Hosted Web Apps Myth #4: Hosted Web Apps Take Too Long to...Windows Developer
 
Apresentação Escola Recriarte
Apresentação Escola RecriarteApresentação Escola Recriarte
Apresentação Escola RecriarteVanessa Fontes
 
Propuestas Ecológicas.
Propuestas Ecológicas. Propuestas Ecológicas.
Propuestas Ecológicas. Charlsarq
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreNicolás Bello Camilletti
 
Turn specs into high quality apps
Turn specs into high quality appsTurn specs into high quality apps
Turn specs into high quality appsmarcofolio
 
Highlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conferenceHighlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conferenceChristopher Miller
 
Jobs-To-Be-Done Framework - An Introduction
Jobs-To-Be-Done Framework - An IntroductionJobs-To-Be-Done Framework - An Introduction
Jobs-To-Be-Done Framework - An IntroductionRizwan Javaid
 
Etica del contador
Etica del contadorEtica del contador
Etica del contadorrburgav
 

Viewers also liked (11)

Build 2016 - T666 - Interactive Analytics with Application Insights
Build 2016 - T666 - Interactive Analytics with Application InsightsBuild 2016 - T666 - Interactive Analytics with Application Insights
Build 2016 - T666 - Interactive Analytics with Application Insights
 
Build 2016 - P447 - Hosted Web Apps Myth #4: Hosted Web Apps Take Too Long to...
Build 2016 - P447 - Hosted Web Apps Myth #4: Hosted Web Apps Take Too Long to...Build 2016 - P447 - Hosted Web Apps Myth #4: Hosted Web Apps Take Too Long to...
Build 2016 - P447 - Hosted Web Apps Myth #4: Hosted Web Apps Take Too Long to...
 
Apresentação Escola Recriarte
Apresentação Escola RecriarteApresentação Escola Recriarte
Apresentação Escola Recriarte
 
XboxAppDev 7. Expert Panel
XboxAppDev 7. Expert PanelXboxAppDev 7. Expert Panel
XboxAppDev 7. Expert Panel
 
Propuestas Ecológicas.
Propuestas Ecológicas. Propuestas Ecológicas.
Propuestas Ecológicas.
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET Core
 
Turn specs into high quality apps
Turn specs into high quality appsTurn specs into high quality apps
Turn specs into high quality apps
 
Highlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conferenceHighlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conference
 
Cours1
Cours1Cours1
Cours1
 
Jobs-To-Be-Done Framework - An Introduction
Jobs-To-Be-Done Framework - An IntroductionJobs-To-Be-Done Framework - An Introduction
Jobs-To-Be-Done Framework - An Introduction
 
Etica del contador
Etica del contadorEtica del contador
Etica del contador
 

Similar to XboxAppDev 3. XAML apps on Xbox

Honeycomb UI Patterns
Honeycomb UI PatternsHoneycomb UI Patterns
Honeycomb UI PatternsPulkit Arora
 
VB.Net-Controls and events
VB.Net-Controls and eventsVB.Net-Controls and events
VB.Net-Controls and eventsPrachi Sasankar
 
How to add rich interactions to your prototype
How to add rich interactions to your prototypeHow to add rich interactions to your prototype
How to add rich interactions to your prototypejustinmind
 
Final Cut Pro 7 Certification Lesson 1
Final Cut Pro 7 Certification Lesson 1Final Cut Pro 7 Certification Lesson 1
Final Cut Pro 7 Certification Lesson 1Samuel Edsall
 
Google calendar integration in iOS app
Google calendar integration in iOS appGoogle calendar integration in iOS app
Google calendar integration in iOS appKetan Raval
 
Putti Menu/Catalog Tutorial
Putti Menu/Catalog TutorialPutti Menu/Catalog Tutorial
Putti Menu/Catalog TutorialPuttiApps
 
COMPUTER Tips ‘n’ Tricks
COMPUTER Tips ‘n’   TricksCOMPUTER Tips ‘n’   Tricks
COMPUTER Tips ‘n’ Tricksargusacademy
 
Chapt 04 user interaction
Chapt 04 user interactionChapt 04 user interaction
Chapt 04 user interactionEdi Faizal
 
Lab: Developing with the extension library
Lab: Developing with the extension libraryLab: Developing with the extension library
Lab: Developing with the extension libraryWorkFlowStudios
 
NewTek Lightwave 3D: Working in 3D Space
NewTek Lightwave 3D:  Working in 3D SpaceNewTek Lightwave 3D:  Working in 3D Space
NewTek Lightwave 3D: Working in 3D SpaceSamuel Edsall
 
SHOW103: Sidebar Safari everything you wanted to know about the Notes 8.5 Sid...
SHOW103: Sidebar Safari everything you wanted to know about the Notes 8.5 Sid...SHOW103: Sidebar Safari everything you wanted to know about the Notes 8.5 Sid...
SHOW103: Sidebar Safari everything you wanted to know about the Notes 8.5 Sid...guest4d913
 
Android Design Support Library
Android Design Support LibraryAndroid Design Support Library
Android Design Support LibraryIbnu Sina Wardy
 
Developing AIR for Android with Flash Professional CS5
Developing AIR for Android with Flash Professional CS5Developing AIR for Android with Flash Professional CS5
Developing AIR for Android with Flash Professional CS5Chris Griffith
 
A comprehensive guide on developing responsive and common react filter component
A comprehensive guide on developing responsive and common react filter componentA comprehensive guide on developing responsive and common react filter component
A comprehensive guide on developing responsive and common react filter componentKaty Slemon
 
Implementing Inclusive Interfaces
Implementing Inclusive InterfacesImplementing Inclusive Interfaces
Implementing Inclusive InterfacesSally Shepard
 
MacBook Air Reference Guide
MacBook Air Reference GuideMacBook Air Reference Guide
MacBook Air Reference GuideMike Glennon
 
Pinned Sites IE 9 Lightup
Pinned Sites IE 9 LightupPinned Sites IE 9 Lightup
Pinned Sites IE 9 LightupWes Yanaga
 

Similar to XboxAppDev 3. XAML apps on Xbox (20)

Honeycomb UI Patterns
Honeycomb UI PatternsHoneycomb UI Patterns
Honeycomb UI Patterns
 
VB.Net-Controls and events
VB.Net-Controls and eventsVB.Net-Controls and events
VB.Net-Controls and events
 
How to add rich interactions to your prototype
How to add rich interactions to your prototypeHow to add rich interactions to your prototype
How to add rich interactions to your prototype
 
Using android's action bar
Using android's action barUsing android's action bar
Using android's action bar
 
Final Cut Pro 7 Certification Lesson 1
Final Cut Pro 7 Certification Lesson 1Final Cut Pro 7 Certification Lesson 1
Final Cut Pro 7 Certification Lesson 1
 
Google calendar integration in iOS app
Google calendar integration in iOS appGoogle calendar integration in iOS app
Google calendar integration in iOS app
 
Putti Menu/Catalog Tutorial
Putti Menu/Catalog TutorialPutti Menu/Catalog Tutorial
Putti Menu/Catalog Tutorial
 
Step-by-Step - Windows 7
Step-by-Step - Windows 7Step-by-Step - Windows 7
Step-by-Step - Windows 7
 
Android UI Patterns
Android UI PatternsAndroid UI Patterns
Android UI Patterns
 
COMPUTER Tips ‘n’ Tricks
COMPUTER Tips ‘n’   TricksCOMPUTER Tips ‘n’   Tricks
COMPUTER Tips ‘n’ Tricks
 
Chapt 04 user interaction
Chapt 04 user interactionChapt 04 user interaction
Chapt 04 user interaction
 
Lab: Developing with the extension library
Lab: Developing with the extension libraryLab: Developing with the extension library
Lab: Developing with the extension library
 
NewTek Lightwave 3D: Working in 3D Space
NewTek Lightwave 3D:  Working in 3D SpaceNewTek Lightwave 3D:  Working in 3D Space
NewTek Lightwave 3D: Working in 3D Space
 
SHOW103: Sidebar Safari everything you wanted to know about the Notes 8.5 Sid...
SHOW103: Sidebar Safari everything you wanted to know about the Notes 8.5 Sid...SHOW103: Sidebar Safari everything you wanted to know about the Notes 8.5 Sid...
SHOW103: Sidebar Safari everything you wanted to know about the Notes 8.5 Sid...
 
Android Design Support Library
Android Design Support LibraryAndroid Design Support Library
Android Design Support Library
 
Developing AIR for Android with Flash Professional CS5
Developing AIR for Android with Flash Professional CS5Developing AIR for Android with Flash Professional CS5
Developing AIR for Android with Flash Professional CS5
 
A comprehensive guide on developing responsive and common react filter component
A comprehensive guide on developing responsive and common react filter componentA comprehensive guide on developing responsive and common react filter component
A comprehensive guide on developing responsive and common react filter component
 
Implementing Inclusive Interfaces
Implementing Inclusive InterfacesImplementing Inclusive Interfaces
Implementing Inclusive Interfaces
 
MacBook Air Reference Guide
MacBook Air Reference GuideMacBook Air Reference Guide
MacBook Air Reference Guide
 
Pinned Sites IE 9 Lightup
Pinned Sites IE 9 LightupPinned Sites IE 9 Lightup
Pinned Sites IE 9 Lightup
 

Recently uploaded

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 

Recently uploaded (20)

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 

XboxAppDev 3. XAML apps on Xbox

  • 1. Build great apps for Xbox with XAML and C# Jason Short, PhD | @infinitecodex Senior Program Manager https://aka.ms/xboxappdevcode
  • 2. Reach every Windows device with one app What-you-see-is-what-you-get platform Easily tailor your app to be great on the device
  • 3. Universal Windows Platform XAML apps on your desktop
  • 4.
  • 5.
  • 6.
  • 8.
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Optimizing for size and TV safe area
  • 16.
  • 17.
  • 18.
  • 19.
  • 21. Button Left Stick/D-pad A/Select Behavior Move Focus “Click”
  • 22. Button Left Stick/D-pad A/Select B/Back Behavior Move Focus “Click” Go Back
  • 23. Button Left Stick/D-pad A/Select B/Back Menu Behavior Move Focus “Click” Go Back Show Context Menu
  • 24. Button Left Stick/D-pad A/Select B/Back Menu View Behavior Move Focus “Click” Go Back Show Context Menu Show Panes or Switch Views
  • 25. Button Left Stick/D-pad A/Select B/Back Menu View Behavior Move Focus “Click” Go Back Show Context Menu Show Panes or Switch Views
  • 26. Button Behavior How Left Stick/D-pad Move Focus <Application RequiresPointer="WhenRequested">
  • 27. Button Behavior How Left Stick/D-pad Move Focus <Application RequiresPointer="WhenRequested"> A/Select “Click” Use standard controls like Button, ListView, MenuFlyout, etc. to get this by default. If building custom controls, respond to Spacebar key events.
  • 28. Button Behavior How Left Stick/D-pad Move Focus <Application RequiresPointer="WhenRequested"> A/Select “Click” Use standard controls like Button, ListView, MenuFlyout, etc. to get this by default. If building custom controls, respond to Spacebar key events. B/Back Go Back Respond to standard SystemNavigationManager.BackRequested events when implementing back navigation
  • 29. Button Behavior How Left Stick/D-pad Move Focus <Application RequiresPointer="WhenRequested"> A/Select “Click” Use standard controls like Button, ListView, MenuFlyout, etc. to get this by default. If building custom controls, respond to Spacebar key events. B/Back Go Back Respond to standard SystemNavigationManager.BackRequested events when implementing back navigation Menu Show Context Menu Set up context menus using ContextFlyout property or in response to ContextRequested events.
  • 30. Button Behavior How Left Stick/D-pad Move Focus <Application RequiresPointer="WhenRequested"> A/Select “Click” Use standard controls like Button, ListView, MenuFlyout, etc. to get this by default. If building custom controls, respond to Spacebar key events. B/Back Go Back Respond to standard SystemNavigationManager.BackRequested events when implementing back navigation Menu Show Context Menu Set up context menus using ContextFlyout property or in response to ContextRequested events. View Show Panes or Switch Views Respond to GamepadView and NavigationView key events.
  • 32. Button L/R Trigger L/R Bumper Behavior Page up/down Page left/right
  • 33. Button L/R Trigger L/R Bumper Right stick Behavior Page up/down Page left/right Pan
  • 34. Button L/R Trigger L/R Bumper Right stick X, Y Behavior Page up/down Page left/right Pan App appropriate shortcuts
  • 35. Button L/R Trigger L/R Bumper Right stick X, Y Pause, Play, etc. Behavior Page up/down Page left/right Pan App appropriate shortcuts Control media playback
  • 36.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 45. Mouse Mode and Optimize for Gamepad and Remote
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53. On by default for apps targeting Windows 10 Anniversary Update Application.FocusVisualKind="HighVisibility" Can be tuned on a per-element basis FocusVisualMargin FocusVisualPrimaryBrush FocusVisualPrimaryThickness FocusVisualSecondaryBrush FocusVisualSecondaryThickness
  • 54. Engagement Mode and Focus Visuals
  • 55.
  • 56.
  • 57.
  • 58. Optimizing for the TV-safe colors and sounds
  • 59.

Editor's Notes

  1. What is the XAML platform?