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 に答える