Как WPF создает список элементов управления, по которым можно перемещаться по вкладкам? - PullRequest
1 голос
/ 13 августа 2010

Мне любопытно узнать, как WPF выясняет, где должен быть установлен фокус, когда пользователь нажимает клавишу TAB. Думая вслух, я чувствую:

  1. Возможно, выполняется относительный поиск в пользовательском интерфейсе и поиск ближайшего элемента управления на основе местоположения (x, y).
  2. Может вручную пройтись по логическому поддереву, чтобы найти ближайший элемент управления

Делает ли это каждый раз, когда нажимается клавиша TAB?

1 Ответ

1 голос
/ 13 августа 2010

С WPFWiki :

Tab Navigation перемещает фокус через элементы управления в логической последовательности.

Логическая последовательность по умолчанию такова, что управление будет сосредоточено, начиная с первый фокусируемый потомок корня управление (окно, страница и т. д.). От этот момент, свойство TabNavigation считается, и следующий контроль в последовательность является либо первым фокусируемым потомок в настоящее время сосредоточены контроль или следующий фокусируемый родной брат. Свойство TabNavigation объекта затем вновь сфокусированный контроль оценивается и т. д.

В большинстве случаев порядок табуляции (с использованием правила, описанного выше), как правило, будет сверху вниз по вашему XAML-файлу.

Конечно, это можно изменить, установив вложенные свойства KeyboardNavigation, такие как IsTabStop, TabNavigation, TabIndex и т. Д.

Возможно, не самый технический ответ (я не знаю, что это такое), но это общая идея ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...