Класс KeyboardNavigation определяет три прикрепленных свойства, которые позволяют модифицировать каждый из режимов навигации:
KeyboardNavigation.TabNavigation,
KeyboardNavigation.DirectionalNavigation,
KeyboardNavigation.ControlTabNavigation
Каждое из этих свойств определяет шесть возможных значений. Эти значения определяют, как можно выполнять навигацию в элементе управления списком (например, ListBox, listview)
например;
KeyboardNavigation.DirectionalNavigation="Contained"
используется для обозначения того, что когда я нажимаю стрелку вниз или вверх на клавиатуре для перемещения между элементами в списке, навигация останавливается на последнем элементе или первом элементе, тогда мы должны использовать противоположную кнопку для перемещения вверх или вниз.
KeyboardNavigation.DirectionalNavigation="Cycle"
используется, чтобы указать, что когда я нажимаю стрелку вниз или вверх на клавиатуре для перемещения между элементами в списке, навигация продолжается с верхнего или нижнего элемента циклическим образом
То же самое имеет место с TabNavigation, которое указывает режим навигации, когда мы нажимаем кнопку вкладки в списке