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