0

WPFコントロールも含むwondowsフォームがあります。コントロールをクリックすると、リストボックス付きのWPFポップアップコントロールが表示されます。目標は、リストボックスで項目を選択すると、それに応じてWindowsフォームが再入力され、ポップアップが閉じられるようにすることです。リストボックスにSelectionChangedを使用した現在の実装は正常に機能します。

ここに問題があります。ポップアップは大きく、いくつかのリンクを含むWinFormの一部をカバーしています。これで、リストボックスでアイテムを選択すると、必要なアクションを実行した後にポップアップが閉じますが、カーソルの下にあるポップアップ(winform上)のすぐ下にリンクがある場合(リストボックスでアイテムを選択した場合)、そのリンクもクリックイベントを取得しています。

ポップアップをクリックしたときにリンクがクリックされないようにする方法はありますか?ただし、ポップアップを閉じる必要があります。

4

1 に答える 1

0

私はこれを理解したと思います。

SelectionChanged は、マウス キーを押し下げて離す前に実行されます (マウス キーを押し上げます)。ポップアップは、マウス キーを離す前に SelectionChanged で閉じられます。そのため、マウス キーを離すと、ポップアップが既に閉じられているため、Winform 上のリンクに対して keyUp イベントが実際に発生します。

ロジックを SelectionChanged から PreviewMouseUp に移動しました。マウス キーを離すまでポップアップが表示されたままになるため、Winform のリンクはイベントを取得しません。もちろん、選択が変更されていないかチェックします。

于 2012-06-25T13:59:06.097 に答える