WPF Toolkit: how to scroll datagrid to show selected item from code behind?
Solution 1
Virtualized Stack Panel didn't have an item container, because Item Container does not exist for the item outside the view and that's why this error was shown. Disabling virtualization resolves the issue for now, and the bug has been reported to codeplex toolkit project.
Solution 2
Try:
grid.SelectedItem = sItem;
grid.UpdateLayout();
grid.ScrollIntoView(grid.SelectedItem);
Akash Kava
Author of, YantraJS - JavaScript engine & runtime for .NET Standard GushCRM - CRM for Talent/Acting Agencies Blog: www.webatoms.in/blog Twitter: twitter.com/akashkava GitHub: github.com/neurospeech Company: neurospeech.com
Updated on June 15, 2020Comments
-
Akash Kava almost 4 years
I tried the following, all of which fail on function ScrollIntoView and give a NullReferenceException:
// doesn't work grid.SelectedItem = sItem; grid.ScrollIntoView(sItem); // doesn't work grid.SelectedItem = sItem; grid.Focus(); grid.CurrentColumn = grid.Columns[0]; grid.UpdateLayout(); grid.ScrollIntoView(sItem,grid.Columns[0]); // doesn't work grid.SelectedItem = sItem; grid.UpdateLayout(); grid.ScrollIntoView(sItem);
The problem is, when I select a row from code-behind, selection is not visible - it's somewhere down the bottom. Unless the user scrolls they feels that selection has vanished. I need to scroll a DataGrid to the point that user can see the selection.
I also tried "BringIntoView" as well but no luck.