Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to autoscroll on WPF datagrid

Tags:

c#

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?

like image 481
Christian Ruppert Avatar asked Jun 22 '09 12:06

Christian Ruppert


2 Answers

You should use the datagrid method

datagrid.ScrollIntoView(itemInRow); 

or

datagrid.ScrollIntoView(itemInRow, column); 

this way provides no messing around finding the scroll viewer etc.

like image 54
Aran Mulholland Avatar answered Sep 24 '22 02:09

Aran Mulholland


;)

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();     } } 
like image 21
Joseph jun. Melettukunnel Avatar answered Sep 23 '22 02:09

Joseph jun. Melettukunnel