Нажатие на всплывающее окно за пределами панели задач теряет фокус клавиатуры

Я разрабатываю панель задач Microsoft Word, содержащую элемент WPF ElementHost. Размещенный WPF использует всплывающее окно, которое должно вести себя так же, как ComboBox. Я считаю, что вы можете воспроизвести мою проблему так:

popup.IsOpen = true;
popup.StaysOpen = false;
Mouse.Capture(ancestor_of_popup, CaptureMode.SubTree);

Когда область всплывающего окна выходит за пределы панели задач, щелкните мышью в этой области. Вся панель задач теряет фокус клавиатуры в главном окне Word, но сохраняет захват мыши. На этом этапе вы можете использовать всплывающее окно с помощью мыши при вводе текста на клавиатуре для редактирования документа!

Если панель задач теряет фокус клавиатуры, всплывающее окно должно закрыться, но тогда любой элемент управления в области всплывающего окна, которая находится за пределами панели задач, становится непригодным для использования. Любые идеи?


person Joshua Tacoma    schedule 07.07.2009    source источник
comment
только что заметил stackoverflow.com/questions/619798/, проверяя, решает ли это проблему.   -  person Joshua Tacoma    schedule 08.07.2009
comment
нет, это не решило проблему: 619798 касается прозрачности; У меня есть скрытое подозрение, что мое как-то связано с взаимодействием с Microsoft Office.   -  person Joshua Tacoma    schedule 08.07.2009
comment
Я наблюдаю очень похожую проблему при работе над настраиваемой надстройкой Word. Вы когда-нибудь решали свою проблему?   -  person Jacob Adams    schedule 02.07.2020


Ответы (1)


Это похоже на проблему, аналогичную всплывающих окнах в XBAP перестать получать что-либо, кроме событий мыши после потери фокуса?.

По-видимому, существует известная ошибка с фокусом во всплывающих элементах управления WPF, хотя она может быть специфичной для XBAP (вы не указали, был ли это рабочий стол WPF или приложение браузера).

person kevinpo    schedule 22.06.2012