Popupいくつかの編集コントロール (リスト ボックス、テキスト ボックス、チェック ボックス) がかなりの空白でレイアウトされた WPFコントロールがあります。
Popup.StaysOpenに設定されてFalseいます。これは必須です。ユーザーがアプリケーション内の別の場所をクリックすると、編集操作が中止されたと見なされ、ポップアップが閉じられる必要があります。
残念ながら、ユーザーがポップアップの背景領域 (編集コントロール間のスペース) 内をクリックすると、ポップアップも閉じます。
ポップアップを に設定してみましたFocusable。Borderまた、ポップアップの子 (a ) をフォーカス可能に設定しようとしました。どちらの面でも運がありません。
さらに、マウスイベントはポップアップを通過しているようです。クリックすると、ポップアップの下にある要素がフォーカスされます。Popupこれは、とBorder(クリックしている) の両方がIsHitTestVisibleと にFocusable設定されているにもかかわらずですtrue。