Основы проектирования интерфейсов с использованием технологии Windows Presentation Foundation. Шамшев Ан. Б. - 141 стр.

UptoLike

Составители: 

141
WPF выполняет автоматическую последовательность передачи фоку-
са, всоответствии с которой фокус получает ближайший элемент в
последовательности.
Свойство TabIndex определяется в классе Control, вместе со
свойством IsTabStop. Свойству IsTabStop можно присвоить значение
false, чтобы исключить элемент управления из последовательности
перехода с помощью клавиши табуляции. Различие между IsTabStop
и Focusable заключается в том, что элемент управления, свойство
IsTabStop которого имеет значение false, может получить фокус дру-
гим путемлибо программно (если в коде производится вызов мето-
да Focus ()), либо по щелчку кнопкой мыши.
Элементы управления, являющиеся невидимыми или заблоки-
рованными (изображены серым цветом) обычно не включаются в по-
следовательность перехода с помощью клавиши табуляции и не акти-
визируются, независимо от настройки свойств TabIndex, IsTabStop и
Focusable. Чтобы скрыть или заблокировать элемент управления, ис-
пользуются свойства Visibility и isEnabled, соответственно.
5.5.6. Получение состояния клавиши
Когда происходит нажатие клавиши, необходимо знать больше,
чем просто то, какая именно клавиша была нажата. Кроме этого, нуж-
но выяснить, какие еще клавиши были нажаты в это же время. Это
означает, что необходимо изучить состояние остальных клавиш, осо-
бенно модификаторов вроде <Shift>, <Ctrl> и <Alt>.
События клавиш (PreviewKeyDown, KeyDown, PreviewKeyUp и
KeyUp) способствуют получению этой информации. Во-первых,
объект KeyEventArgs включает свойство KeyState, которое отражает
свойство клавиши, сгенерировавшей событие. Еще есть свойство
KeyboardDevice, которое предлагаетту же информацию для любого
ключа на клавиатуре. Свойство KeyboardDevice предлагает экземпляр
класса KeyboardDevice. Его свойства включают информацию о том,