An app I'm working on needs several mutually-exclusive User Controls; each of which has a child RadGridView. To make the User Control's child controls scroll properly horizontally, I had to wrap all of each User Control's child controls in a ScrollViewer. (I tried various horizontal scroll settings on each grid itself, but never found one that worked well and also consistently stretched the grid to match the parent UserControl's width dimension).
Before adding the ScrollViewer containers, I had already implemented "Find/FindNext" logic which positioned the resulting row within the appropriate RadGridView's viewport by calculating the desired new top row for the RadGridView, using the Grid's ScrollIntoViewAsync() method to get the right row visible on top, and setting the Grid's CurrentItem and Selecteditem properties to that row item.
But with the enclosing ScrollViewer, the GridView thinks more rows are visible than really are. So the selected rows remain outside of the ScrollViewer's viewport.
I realize this is a virtualization issue, but am not sure of the best way to address it. (The GridView may contain thousands of rows. I'd rather not have them all load at once as I'd expect if I tried to disable virtualization for the grid as a whole).
Since the ScrollViewer is needed only to accommodate horizontal width, there may be a way to limit the outer ScrollViewer's behavior to the horizontal dimension.
Does anyone have ideas about the best way to address this?
Thanks!
-Bob
Before adding the ScrollViewer containers, I had already implemented "Find/FindNext" logic which positioned the resulting row within the appropriate RadGridView's viewport by calculating the desired new top row for the RadGridView, using the Grid's ScrollIntoViewAsync() method to get the right row visible on top, and setting the Grid's CurrentItem and Selecteditem properties to that row item.
But with the enclosing ScrollViewer, the GridView thinks more rows are visible than really are. So the selected rows remain outside of the ScrollViewer's viewport.
I realize this is a virtualization issue, but am not sure of the best way to address it. (The GridView may contain thousands of rows. I'd rather not have them all load at once as I'd expect if I tried to disable virtualization for the grid as a whole).
Since the ScrollViewer is needed only to accommodate horizontal width, there may be a way to limit the outer ScrollViewer's behavior to the horizontal dimension.
Does anyone have ideas about the best way to address this?
Thanks!
-Bob