Вы можете обработать событие IsKeyboardFocusWithinChanged в вашем коде позади файла, чтобы установить для SelectedItem значение null, как это -
private void dg_IsKeyboardFocusWithinChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (!(bool)e.NewValue)
{
(sender as DataGrid).SelectedItem = null;
}
}
Файл Xaml:
<DataGrid x:Name="dg" IsKeyboardFocusWithinChanged="dg_IsKeyboardFocusWithinChanged"/>
Если вам не нужна граница выделения в вашей сетке данных, вам нужно переопределить System.HighlightBrush и добавить ее в свою сетку данных. Ресурсы, подобные этой -
<DataGrid>
<DataGrid.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black"/>
</DataGrid.Resources>
<DataGrid>