Skip to content

Latest commit

 

History

History
107 lines (80 loc) · 5.12 KB

File metadata and controls

107 lines (80 loc) · 5.12 KB
page_type languages products urlFragment extendedZipContent description
sample
csharp
windows
windows-uwp
XamlGamepadNavigation
path target
SharedContent
SharedContent
path target
LICENSE
LICENSE
Shows ways of improving directional navigation in your app.

Gamepad-style navigation (XAML) sample

Shows ways of improving directional navigation in your app. Controllers such as remote controls, gamepad joystick, or gamepad D-pad allow the user to navigate in the four cardinal directions.

Note: This sample is part of a large collection of UWP feature samples. You can download this sample as a standalone ZIP file from docs.microsoft.com, or you can download the entire collection as a single ZIP file, but be sure to unzip everything to access shared dependencies. For more info on working with the ZIP file, the samples collection, and GitHub, see Get the UWP samples from GitHub. For more samples, see the Samples portal on the Windows Dev Center.

The sample shows the following techniques:

  • Opt the app into using directional navigation by setting Application.RequiresPointerMode to WhenRequested. Without this step, the app defaults to using pointer mode everywhere.
  • Customize directional navigation to improve navigation targeting.
  • Customize directional navigation to prevent navigation in a particular direction.
  • A custom control which requires the user to press the "A" button on the game controller in order to engage the control.
  • Mitigations for custom controls which are not aware of directional navigation.

When the IsFocusEngagementEnabled property is set to True, the control is not given focus upon navigation. The user must press the "A" button on the game controller in order to give the control focus, and press the "B" button to remove focus from the control and allow the directional navigation buttons to be used for navigation.

For information about directional navigation in JavaScript apps, see WinJS.UI.XYFocus.

Note The Windows universal samples require Visual Studio to build and Windows 10 to execute.

To obtain information about Windows 10 development, go to the Windows Dev Center

To obtain information about Microsoft Visual Studio and the tools for developing Windows apps, go to Visual Studio

Related topics

Reference

XYFocusDown property
XYFocusLeft property
XYFocusRight property
XYFocusUp property
IsFocusEngaged property
IsFocusEngagementEnabled property

Designing for Xbox and TV

System requirements

Client: Windows 10 build 14332

Server: Windows Server 2016 Technical Preview

Phone: Windows 10 build 14332

Build the sample

  1. If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with the sample you want to build.
  2. Start Microsoft Visual Studio and select File > Open > Project/Solution.
  3. Starting in the folder where you unzipped the samples, go to the Samples subfolder, then the subfolder for this specific sample, then the subfolder for your preferred language (C++, C#, or JavaScript). Double-click the Visual Studio Solution (.sln) file.
  4. Press Ctrl+Shift+B, or select Build > Build Solution.

Run the sample

The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.

Deploying the sample

  • Select Build > Deploy Solution.

Deploying and running the sample

  • To debug the sample and then run it, press F5 or select Debug > Start Debugging. To run the sample without debugging, press Ctrl+F5 or select Debug > Start Without Debugging.