У меня есть элемент управления WPF Popup, который содержит некоторые элементы управления редактированием (списки, текстовые поля, флажки), выложенные с небольшим количеством пробелов.
Popup.StaysOpen устанавливается на False, что требуется. Если пользователь нажимает в другом месте приложения, операцию редактирования следует считать прерванной, и всплывающее окно должно закрыть.
К сожалению, всплывающее окно также закрывается всякий раз, когда пользователь нажимает в области фона всплывающего окна (пробел между элементами управления редактирования).
Я попытался установить всплывающее окно Focusable. Я также попробовал настроить popup child (a Border) для фокусировки. Не повезло ни на одном фронте.
Кроме того, событие мыши, похоже, туннелирует через всплывающее окно. Какой бы элемент ни находился под всплывающим окном, когда я нажимаю его, он становится сфокусированным. Это несмотря на оба значения Popup и Border (в которые я нажимаю), имеющие как IsHitTestVisible, так и Focusable значение true.