有没有办法检查WPF ListView的GridView区域内是否发生了双击?如果我们使用listview鼠标双击事件,双击listview滚动条也会触发鼠标双击事件。
我正在寻找一种方法来识别鼠标双击只在列表视图项的顶部?
答案 0 :(得分:1)
您可以使用SystemParameters.HorizontalScrollBarHeight
和SystemParameters.VerticalScrollBarWidth
属性来帮助您解决此问题。以下示例检测是否正在使用垂直ScrollBar
:
double mouseXPositionInListView = Mouse.GetPosition(yourListView).X;
if (mouseXPositionInListView > yourListView.ActualWidth -
SystemParameters.VerticalScrollBarWidth - yourListView.Padding.Right)
{
// The user is scrolling vertically
}
更新>>>
如果您想忽略GridView
列标题区域上的点击次数,请调整上面的代码以包含标题的Height
。您可以使用Height
属性获取标头的GridViewColumnHeader.Height
。请注意,这不是前一个static
属性,因此您必须从GridView
获取该属性。