topic | languages | products | |||
---|---|---|---|---|---|
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. If you are unfamiliar with Git and GitHub, you can download the entire collection as a 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 2017 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
XYFocusDown property
XYFocusLeft property
XYFocusRight property
XYFocusUp property
IsFocusEngaged property
IsFocusEngagementEnabled property
Client: Windows 10 build 14332
Server: Windows Server 2016 Technical Preview
Phone: Windows 10 build 14332
- If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with the sample you want to build.
- Start Microsoft Visual Studio 2017 and select File > Open > Project/Solution.
- 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.
- Press Ctrl+Shift+B, or select Build > Build Solution.
The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.
- Select Build > Deploy Solution.
- 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.