Как получить сфокусированный контроль в WPF? - PullRequest
5 голосов
/ 15 марта 2011

Как получить текущий фокусированный элемент управления в WPF?

Я нашел какое-то решение для WinForms, но вызов функции WIN32 API не работал в WPF?

Есть ли способ сделать это в WPF?

Ответы [ 2 ]

7 голосов
/ 17 сентября 2014

Я знаю, что это поздний ответ, но, возможно, люди, ищущие, могут найти это полезным, я нашел его на msdn в разделе «Навигация в фокусе программно», расположенном в нижней части страницы:

UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;
5 голосов
/ 18 марта 2011

Вот что я сделал

protected override void OnPreviewLostKeyboardFocus(KeyboardFocusChangedEventArgs e)
{
    lostFocusControl = e.OldFocus;
}

private void PauseButton_PreviewKeyDown(object sender, KeyEventArgs e)
{
    // invoke OnPreviewLostKeyboardFocus handler
}
...