0

我试图检测用户何时开始在 xceed 网格控件中向下滚动。我想知道滚动条的位置是什么,以及当前正在屏幕上显示哪些行(索引就足够了)。

有什么想法可以做到这一点吗?

4

1 回答 1

1

对于DataGrid基于项目的滚动试试这个

private void DataGrid_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
    var datagrid = sender as DataGrid;
    var view = CollectionViewSource.GetDefaultView(datagrid.ItemsSource) as CollectionView;

    if (view != null && view.Count > 0)
    {
        int firstIndex = (int)e.VerticalOffset;
        var firstItem = view.GetItemAt(firstIndex);

        int lastIndex = Math.Min(view.Count - 1, (int)(e.VerticalOffset + e.ViewportHeight));
        var lastItem = view.GetItemAt(lastIndex);
    }
}
于 2013-06-14T23:34:07.153 回答