Получение KeyInput в Silverlight - PullRequest
1 голос
/ 25 января 2011

Попытка перехвата ввода ключа в моем приложении Silverlight вызывает у меня проблемы из-за сосредоточенности элементов управления.Страница состоит из нескольких элементов управления, поэтому каждый раз, когда элемент управления имеет разный фокус, и мой KeyDownEvent обычно дает сбой.Одна возможность - передать событие KeyDown ВСЕМ моим элементам управления, а затем методу, который их обрабатывает.Есть ли лучший способ?

1 Ответ

1 голос
/ 25 января 2011

Вы можете поймать KeyDown на странице, которая содержит все элементы управления, переопределив OnKeyDown.

protected override void OnKeyDown(KeyEventArgs e)
{
  // Distribute to listeners from here
}

Это работает, так как элементы управления на странице всплывают в событии вверх, так что если элемент управления (например, текстовое поле / кнопка и т. Д.) Не обрабатывает нажатие клавиши, родительский элемент управления получает шанс.

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