Это зависит от того, как именно вы настроили свои привязки.
Если, например, у вас есть коллекция ObservableCollection и вы добавляете в нее элементы при загрузке данных, вы можете столкнуться с такой проблемой. Существует несколько решений, но я бы скорее определил проблему, чем набирал километры текста, поэтому, если вы сможете предоставить немного больше подробностей, я отвечу с наилучшим предположением о решении.
Редактировать: После просмотра примера я выяснил, в чем проблема: в DataGrid есть DataGridComboBoxColumn с привязкой SelectedValue к свойству; когда привязка выполняется, происходит событие SelectionChanged объекта ComboBox, которое перехватывается обработчиком в DataGrid. Есть несколько вариантов, чтобы предотвратить это ... один - это проверить OriginalSource в EventHandler, а другой - обработать событие в ComboBox и установить для его свойства Handled значение true, чтобы оно не попадало в обработчик DataGrid. а также.
Альтернативным, гораздо лучшим решением было бы не обрабатывать события выбора в выделенном фрагменте кода, если нет веской причины. Лучше всего связать ItemsSource DataGrid с ICollectionView (например, ListCollectionView), который представляет исходную коллекцию; CurrentItem объекта ICollectionView автоматически синхронизируется с выбранной строкой в DataGrid, и вы можете обрабатывать события изменения выбора в ICollectionView, что делает его намного проще (и модульно-тестируемым, несколько отдельным от реализации пользовательского интерфейса и т.д.) Это не работает с несколькими вариантами выбора, но если вы можете выбрать только одну строку за раз, это должно работать довольно хорошо.