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

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

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

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

3 ответа

Решение

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

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

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

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

UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;

Другое решение:

      bool FocusedElement = FocusManager.GetFocusedElement(this);

Найдено здесь: /questions/5804509/vyiyasnit-kakoj-element-upravleniya-imeet-fokus/5804517#5804517

Другие вопросы по тегам