I am trying to implement an Excel-like enter key behavior where pressing enter moves to the next cell only within the selected cells. I am handling KeyDown and everything works fine using Grid.CurrentColumn to move the CurrentCell between columns. However as soon as my selection is more than one row and I need to wrap to the next row, setting Grid.CurrentColumn kills the SelectedCells collection. I tried every manner of selecting a current cell that I could find, but nothing helps. Most are worse. Using GridNavigator kills the selection for any move, and setting the IsCurrent property of the row kills the selection even if the row hasn't changed.
All of the documentation I can find explicitly states that the current cell and the selected cells are supposed to be independent. Am I missing something?
I have MultiSelect on and SelectionMode = CellSelect, and I am using VirtualMode for the data.