WPF列表视图的网格视图区域鼠标捕获

时间:2013-12-02 11:35:26

标签: c# wpf

有没有办法检查WPF ListView的GridView区域内是否发生了双击?如果我们使用listview鼠标双击事件,双击listview滚动条也会触发鼠标双击事件。

我正在寻找一种方法来识别鼠标双击只在列表视图项的顶部?

1 个答案:

答案 0 :(得分:1)

您可以使用SystemParameters.HorizontalScrollBarHeightSystemParameters.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获取该属性。

相关问题