Share via

Control.IsFocusEngaged Property


Get or sets a value that indicates whether focus is constrained within the control boundaries (for game pad/remote interaction).

 property bool IsFocusEngaged { bool get(); void set(bool value); };
bool IsFocusEngaged();

void IsFocusEngaged(bool value);
public bool IsFocusEngaged { get; set; }
var boolean = control.isFocusEngaged;
control.isFocusEngaged = boolean;
Public Property IsFocusEngaged As Boolean
<control IsFocusEngaged="bool"/>

Property Value



true if focus is constrained within the control boundaries; otherwise, false.

Windows requirements

Device family
Windows 10 Anniversary Edition (introduced in 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v3.0)


IsFocusEngagementEnabled must be true and the control must have focus before you set the IsFocusEngaged property to true. Otherwise, a runtime exception will occur.

Focus engagement makes it easier to use a game pad or remote control to interact with an app. Setting focus engagement does not affect keyboard or other input devices.

When the IsFocusEngagementEnabled property is set to true, it marks the control as requiring focus engagement. This means that the user must press the A/Select button to "engage" the control and interact with it. When they are finished, they can press the B/Back button to disengage the control and navigate away from it.

For more info about this property, see the Focus engagement section of the Designing for Xbox and TV article.

Version compatibility

The IsFocusEngaged property is not available prior to Windows 10, version 1607. If your app’s 'minimum platform version' setting in Microsoft Visual Studio is less than the 'introduced version' shown in the Requirements block later in this page, you must design and test your app to account for this. For more info, see Version adaptive code.

To avoid exceptions when your app runs on previous versions of Windows 10, do not set this property in XAML or use it without performing a runtime check. This example shows how to use the ApiInformation class to check for the presence of this property before you set it.

if (ApiInformation.IsPropertyPresent("Windows.UI.Xaml.Controls.Control", "IsFocusEngaged"))
    slider1.IsFocusEngaged = true;

Applies to