WPF ComboBoxをクリックしてフォーカスを合わせると、その後に発生する唯一のやりとりがComboBoxになります。ウィンドウ関数(minimize
、restore
、close
、resize
)およびウィンドウ内のコントロールを含む他のものが相互作用する場合、アクションは無視され、ComboBoxはフォーカスを失います。ComboBoxがフォーカスされているときのWPFマウスの動作
、MouseEnter
、ウィンドウボタンのMouseLeave
はまだアクティブですが、ウィンドウの境界上のMouseEnter
が(?)が発生した場合、マウスポインタがサイズ変更ポインタに変わりません。この動作は、ComboBox
のポップアップコントロールの使用のために意味があります。ポップアップコントロールはメインのビジュアルツリーとは独立して存在し、ウィンドウが移動したりサイズが変更されたりすると、ポップアップはメインウィンドウの上に固定されたままになります。
私はを使ってみましたが、ComboBox
が何をしているのか見るためには、私が探しているものは見つかりませんでした。基本的に、私はこの動作がウィンドウ、コンボボックスから来ているのか、それともポップアップと何か関係があるのかどうかはわかりません。どうすればこの問題を解決できますか?
コンボボックスの機能を変更しようとしていません。コンボボックスコントロールテンプレートのような構造の全く異なるコントロールを作成しようとしていますが、トグルボタンは表示されません。 ComboBoxを見ると、ポップアップが開いている間にマウスイベントが通過しているように見えます。それは、サイズ変更ポインタが通常表示されるウィンドウ境界をホバリングすることさえ無視します。私は、ウィンドウが変化しているときにポップアップが開いたままにならないように、これを行うことを知っています。私はちょうど同様の動作を達成する方法を理解しようとしています。 – BrandonS
その場合、私はおそらくComboBoxのドロップダウンアイデアを取り除き、トグル時にコンテンツを表示するコントロールを作成するだけです。次に、マウスフォーカスが失われたときにコンテンツパネルを閉じるように設定できます。 ComboBox自体の機能を複製する必要がありますが、おそらくそれを行うことで必要な動作のみを達成することができます。 –