Я не уверен, я слежу за вашим вопросом - но я сделаю дикую догадку :-).Я предполагаю, что ваша проблема в том, что CurrentItem больше не установлен (и в DataGrid не выбрана строка), если вы вручную не выберете новый элемент в DataGrid?Если это так, вам просто нужно добавить свойство в вашу DataGrid:
<DataGrid IsSynchronizedWithCurrentItem="True"/>
Это заставит DataGrid выбрать первый элемент при перезагрузке данных.
Еще одна дикая догадка:
Когда вы устанавливаете новый источник - как вы это делаете?если вы обновите свое свойство новым ObservableCollection без вызова события PropertyChanged, ваша привязка больше не будет работать (но тогда ваш DataGrid также не должен обновляться).
Надеюсь, любая из этих справок - в противном случае мне нужнабольше информации, чтобы помочь вам: -).