Я использую MVVM и привязываю datagrid к коллекции с помощью некоторого кода:
<DataGrid ItemsSource="{Binding Entites}" AutoGenerateColumns="False" IsSynchronizedWithCurrentItem="True"
SelectedItem="{Binding SelectedEntity}">
И я также использую привязку к IsSelectedProperty с помощью стиля (RowStyle или ItemContainerStyle)
<DataGrid.RowStyle>
<Style>
<Setter Property="DataGridRow.IsSelected" Value="{Binding IsSelectedProperty, Mode=TwoWay}" />
</Style>
</DataGrid.RowStyle>
Это хорошо работает. Но если я прокручиваю datagrid вниз и вверх, он перестает работать.