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

UptoLike

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

143
бытие KeyPress, код будет иметь доступ к нажатию клавиши, сгене-
рировавшей событие, а не к символам, соответствующим нажатию.
Как правило, именно такое поведение и оказывается необходимым.
Однако код не ограничен получением информации о клавише в
событиях клавиатуры. Такжеможно получать состояние клавиатуры в
любой момент времени. Для этой цели необходимо воспользоваться
классом Keyboard, который очень похож на класс KeyboardDevice. за
исключением того, что он создан из статических членов. Ниже пока-
зан пример, в котором класс Keyboard используется для проверки те-
кущего состояния левой клавиши <Shift>:
if(Keyboard.IsKeyDown(Key.LeftShift))
{
Ibllnfo.Text="TheleftShiftishelddown.";
}
5.5.7. Ввод с использованием мыши
События мыши решают несколько связанных задач. Самые
главные события мыши позволяют определять действия в ответ на
перемещение указателя мыши над элементом. Этими событиями яв-
ляются MouseEnter (возникает, когда указатель мыши перемещается
над элементом) и MouseLeave (происходит, когда указатель мыши по-
кидает пределы элемента). Оба эти события являютсяпрямыми собы-
тиями (direct events), а это означает, что они не используют туннели-
рование или поднятие. Вместо этого они генерируются в одном эле-
менте и продолжают свое существование только в нем. Такое поведе-
ние является оправданным и объясняется способами вложения эле-
ментов управления в окно WPF.
Например, если имеется панель StackPanel, в которой содержит-
ся кнопка, и указатель мыши наводится на эту кнопку, событие
MouseEnter возникнет первым в элементе StackPanel (как только
мышь войдет в пределы панели), а затем в кнопке (как только указа-