WPF4に2つのウィンドウがある.Net4アプリケーションがあります。
- WS_EX_NOACTIVATEスタイルを使用して、フォーカスが得られないようにします。
- もう1つは基本的なウィンドウです。
「非アクティブ化」ウィンドウの動作は、基本ウィンドウを選択しないとすぐに適切になります(フォーカスが取得されません)。ただし、基本ウィンドウを選択すると、「非アクティブ化」ウィンドウにフォーカスを合わせることができます...ユーザーがクリックするとウィンドウが表示されます。
これは、WPFが、同じアプリケーションの2つのウィンドウに、想定されていない場合でもフォーカスを与える権利があると見なしたかのようです。両方のウィンドウがWS_EX_NOACTIVATEの場合、この動作は発生しません。
この問題に直面したことがありますか?私はこれを読みました:Visual Studio 2010のWPF–パート3:フォーカスとアクティベーション、しかしそれを解決しません。
編集:非アクティブなウィンドウの基本クラスとしてポップアップを使用することで回避できました。ただし、ポップアップは必要ありません。なぜ !?ポップアップがフォーカスを受け取ることはありません:誰かが理由/方法を知っていますか?この動作をウィンドウに再現するにはどうすればよいですか?ポップアップ/ウィンドウコードにステップインしようとしましたが、あまり明確ではありません!
ありがとう !