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