0

我有一个 wandows 表单,其中也包含一个 WPF 控件。当我单击控件时,它会弹出一个带有列表框的 WPF 弹出控件。目标是,当我在列表框中选择一个项目时,将相应地重新填充窗口窗体,并且应该关闭弹出窗口。当前在列表框上使用 SelectionChanged 的​​实现工作正常。

这是问题所在。弹出窗口很大,涵盖了包含一些链接的 winform 的某些部分。现在,当我在列表框中选择一个项目时,弹出窗口会在执行必要的操作后关闭,但如果光标下方的弹出窗口(在 winform 上)下方有一个链接(当您选择列表框中的项目时),该链接也发生了点击事件。

当我点击弹出窗口时,有什么方法可以防止点击链接?我必须关闭弹出窗口。

4

1 回答 1

0

我想我想通了。

当我们按下鼠标键并在我们抬起它之前执行 SelectionChanged。(鼠标键向上)。在我们抬起鼠标键之前,弹出窗口在 SelectionChanged 中关闭。因此,当我们离开鼠标键时,实际上为 Winform 上的链接触发了 keyUp 事件,因为此时弹出窗口已经关闭。

我将逻辑从 SelectionChanged 移动到 PreviewMouseUp 并且弹出窗口一直存在,直到我离开鼠标键,因此 Winform 上的链接不会收到事件。当然,我检查选择是否已更改。

于 2012-06-25T13:59:06.097 回答