Christian Christian - 3 months ago 42
C# Question

How to autoscroll on WPF datagrid

I think I am stupid. I searched now for 15 minutes, and found several different solutions for scrolling on datagrids, but none seems to work for me.

I am using WPF with .NET 3.5 and the WPF Toolkit DataGrid. My grid gets updated when my observable collection changes, works perfectly. Now, my DataGrid is located inside a normal Grid and scrollbars appear if the DataGrid gets too big. Also fine...

And now comes the 1.000.000 $ question:

How do I get the datagrid to scroll to the last row?
There is:


  • no AutoScroll Property

  • no CurrentRowSelected Index

  • a CurrentCell, but no Collection I could use for CurrentCell = AllCells.Last



Any ideas? I feel really stupid, and it seems strange that this question is so hard. What am I missing?

Answer

;)

        if (mainDataGrid.Items.Count > 0)
        {
            var border = VisualTreeHelper.GetChild(mainDataGrid, 0) as Decorator;
            if (border != null)
            {
                var scroll = border.Child as ScrollViewer;
                if (scroll != null) scroll.ScrollToEnd();
            }
        }
Comments