KeyboardNavigationMode Enum


Specifies the possible values for changes in focus when logical and directional navigation occurs.

public enum class KeyboardNavigationMode
public enum KeyboardNavigationMode
type KeyboardNavigationMode = 
Public Enum KeyboardNavigationMode


Contained 4

Depending on the direction of the navigation, focus returns to the first or the last item when the end or the beginning of the container is reached, but does not move past the beginning or end of the container.

Continue 0

Each element receives keyboard focus, as long as it is a navigation stop. Navigation leaves the containing element when an edge is reached.

Cycle 2

Depending on the direction of the navigation, the focus returns to the first or the last item when the end or the beginning of the container is reached. Focus cannot leave the container using logical navigation.

Local 5

Tab Indexes are considered on local subtree only inside this container and behave like Continue after that.

None 3

No keyboard navigation is allowed inside this container.

Once 1

The container and all of its child elements as a whole receive focus only once. Either the first tree child or the or the last focused element in the group receives focus.


The following example creates a Menu with a number of MenuItem objects. The TabNavigation attached property is set to Cycle on the Menu. This means that when focus is changed using the tab key within the Menu, focus will move from each element and when the last element is reached focus will return to the first element.

<Menu KeyboardNavigation.TabNavigation="Cycle">
  <MenuItem Header="Menu Item 1" />
  <MenuItem Header="Menu Item 2" />
  <MenuItem Header="Menu Item 3" />
  <MenuItem Header="Menu Item 4" />
Menu navigationMenu = new Menu();
MenuItem item1 = new MenuItem();
MenuItem item2 = new MenuItem();
MenuItem item3 = new MenuItem();
MenuItem item4 = new MenuItem();


Dim navigationMenu As New Menu()
Dim item1 As New MenuItem()
Dim item2 As New MenuItem()
Dim item3 As New MenuItem()
Dim item4 As New MenuItem()


KeyboardNavigation.SetTabNavigation(navigationMenu, KeyboardNavigationMode.Cycle)

Applies to

See also