Changing the contents of ItemsSource does not scroll the datagrid to the top left. If you have been scrolling the datagrid it will stay where it was and is beyond confusing for a user.
Is there a way to do this until it is fixed?
The scroll position does not start from 0 when change the ItemSource because it is default behavior of DataGrid. However, you can reposition the ScrollView to 0 by programmatic scrolling after the ItemSource is changed. Please, refer to the below code snippets to achieve your requirement and we have also attached the working sample for your reference.
Code snippets :
| (this.dataGrid.Children as ScrollView).ScrollToAsync(0, 0, false);|
It is not the behaviour of the Xamarin DataGrid , or basically any other datagrid I have seen. This behaviour is simply terrible.
What you suggest takes MVVM and throws it out the window. The code you shows is dependent on code which would have to be in every View that uses a DataGrid.
This is a must have feature of a datagrid.