У меня есть текстовое поле, такое как элемент управления, размещенный в моем приложении WPF с помощью элемента управления WindowsFormsHost. Элементом управления окнами является ScintillaNET. Но я подозреваю, что проблема не там (она отлично работала в моем старом проекте WinForms).WindowsFormsHost force Focus
Проблема в том, что когда у меня есть текстовое поле, сфокусированное, и я пытаюсь сфокусировать другое окно, окно сразу же захватывает фокус.
Я отследил это до текстового поля, находящегося в фокусе, переключив фокус на другой элемент управления (через щелчок), а затем переключая окна.
Есть ли обходной путь для этого? Я использую MVVM, поэтому просто установка другого элемента управления в фокусе кода не является вариантом.
Итак, когда вы открываете текстовое поле в первом окне, и у вас уже есть другое окно, вы можете прямо нажимать alt-tab или открывать это окно на панели задач (в то время как текстовое поле WinForms имеет фокус) ? Возможно, ScintillaNET делает некоторые хаки, которые раскрываются моими обстоятельствами. –
Да, alt + вкладка и панель задач работают нормально. – Loathing
Должно быть, только ScintillaNET делает некоторые странные вещи, которые Хост неправильно обрабатывает. –