我有一个包含WPF控件的wondows表单。当我点击控件时,它会弹出一个带有列表框的WPF弹出控件。目标是,当我在列表框中选择一个项目时,Windows窗体将相应地重新填充,弹出窗口应该关闭。列表框上的SelectionChanged当前实现工作正常。
这是问题所在。弹出窗口很大,涵盖了winform的一些部分,其中包含一些链接。现在,当我在列表框中选择一个项目时,弹出窗口在执行必要的操作后关闭,但如果在光标下的弹出窗口(在winform上)有一个链接(当您在列表框中选择了该项目时),该链接也是点击事件。
当我点击弹出窗口时,有什么方法可以防止链接被点击?我不得不关闭弹出窗口。
答案 0 :(得分:0)
我想我想出来了。
当我们按下鼠标键并抬起它之前,SelectionChanged被执行。(鼠标键向上)。在我们解除鼠标键之前,弹出窗口在SelectionChanged中关闭。因此,当我们离开鼠标键时,keyUp事件实际上会因为弹出窗口已经关闭而触发Winform上的链接。
我将逻辑从SelectionChanged移动到PreviewMouseUp,弹出窗口一直保持到我离开鼠标键,因此Winform上的链接没有得到事件。当然,我会检查选择是否已经改变。