Как получить сфокусированный контроль в 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