Поиск элементов управления по имени в WPF

Автор: Диптимайя Патра

В этой статье мы научимся управлять фокусом отдельных элементов управления в WPF. В некоторых проектах отдельные элементы не должны получать фокус или должны иметь фокус все время. Посмотрим, как этого добиться.

Создание проекта приложения WPF

Запустите Visual Studio 2008 и создайте приложение WPF. Назовите проект FocusManagerWPF.

Добавим несколько элементов управления, чтобы научиться управлять фокусом.

Выше я добавляю несколько контейнеров, содержащих по несколько элементов управления.

Запустим приложение и посмотрим, как работает фокус по умолчанию.

Чтобы перейти к следующему элементу, используется клавиша TAB.

Если зажать TAB, вы увидите, что фокус перемещается по элементам в цикле, который начинается с флажка 1 и идет до поля PasswordBox.

Итак мы выяснили, что по умолчанию фокус цикличен.

Теперь попробуем изменить это положение.

Выше можно видеть класс KeyBoardNavigation.

У нас есть несколько свойств, позволяющих ограничить фокус.

Выберем TabNavigation.

Выше видны перечисления, которые можно использовать.

Используем Cycle.

Теперь движение идет по флажкам.

Используем None.

Теперь по TAB нельзя попасть на флажки.

Используем Once.

Фокус попадает на первый элемент по TAB и переходит к другим элементам.

Прочие варианты наподобие Continue, Cycle и Local — то же самое.

Итак, мы использовали KeyboardTabnavigation для управления фокусом на отдельных элементах управления.

Надеюсь, статья оказалась полезной.