检测鼠标是否在WPF中的ListBox项目或ScrollBar上

时间:2014-05-20 11:10:00

标签: c# wpf listbox

我有一个包含ListBox的PopUp窗口。在ListBox PreviewMouseUp事件中,我从ListBox中获取所选项并关闭PopUp。但是,即使ListBox的ScrollBar发送这些PreviewMouseUp事件,所以我无法在不关闭PopUp的情况下滚动列表。

如何单击列表中的项目单击ScrollBar?

3 个答案:

答案 0 :(得分:1)

将ListBox放在ScrollViewer内。

答案 1 :(得分:0)

您应该在列表框中使用此事件:SelectedIndexChanged。 从列表框中选择新项目时会触发此事件。

答案 2 :(得分:0)

你能不能使用

 PreviewMouseLeftButtonUp

事件?当你松开鼠标左键而不是用鼠标滚轮滚动时,这应该只会触发。或者甚至可以更好地使用

SelectedIndexChanged 

ListBox的事件,以确保您不单击鼠标按钮并且不通过该单击选择ListBox元素。

编辑:

那么为什么不处理dbl click事件或者更好的添加按钮并在单击按钮时获取ListBox的选定项目并随意执行任何操作。