WPF - Как снимать при нажатии клавиш CTRL + SHIFT? - PullRequest
4 голосов
/ 04 мая 2009

Когда пользователь нажимает левую клавишу CTRL + левую клавишу SHIFT, я хочу сделать все приложение прозрачным (например, раскрывающееся меню IntelliSense VS2008). Если я напишу свой код в событии KeyUp, я смогу зафиксировать нажатие обеих клавиш, но эффект прозрачности должен быть активен только во время нажатия клавиш. Когда они отпустят, непрозрачность должна вернуться к 100%. Поведение, которое я хочу, на самом деле является событием KeyDown, но я не могу захватить оба ключа в KeyDown, могу я?

Спасибо

1 Ответ

17 голосов
/ 04 мая 2009

Используйте статические методы класса Keyboard, в частности IsKeyDown(), чтобы проверить состояние ключей, которые вас интересуют.

На KeyDown вы можете использовать это, чтобы включить полупрозрачность, а на KeyUp вы можете снова отключить эффект. Если у вас есть это, вы можете сами сохранить состояние ключа и действовать в соответствии с ним.

...