WPF DataGridの表示行数を取得 VB.NET
WPF DataGridの表示行数を取得
Windowの高さが変更されることで、DataGridの高さが変わり、表示できる行数が変わりますが、この表示行数を取得したいと思います。
サイズ変更イベントに書きました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ''' <summary> ''' サイズ変更 ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> Private Sub Window_SizeChanged(sender As Object , e As SizeChangedEventArgs) Handles MyBase .SizeChanged, MyBase .SizeChanged '表示行数を取得 If GridList.Items.Count > 0 Then GridList.UpdateLayout() Dim VisibleRows As Integer = 0 For Each Item In GridList.Items Dim Row As DataGridRow = CType (GridList.ItemContainerGenerator.ContainerFromItem(Item), DataGridRow) If Not IsNothing(Row) Then If Row.TransformToVisual(GridList).Transform( New Point(0, 0)).Y + Row.ActualHeight >= GridList.ActualHeight Then Exit For End If VisibleRows += 1 End If Next Console.WriteLine( "表示行数:" & VisibleRows) End If End Sub |
GridListはDataGridの名前です。VisibleRowsが行数となります。
コメント
コメントを投稿