Увидел еще один ответ, который был близок, но он не избавился от прямоугольника Фокуса. Вот как стереть все границы.
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="BorderThickness" Value="0" />
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
</Style>
</DataGrid.Resources>
Кроме того, поскольку технически эти ячейки все еще получают фокус (вы просто его не видите), чтобы заставить клавишу табуляции перейти к следующей строке вместо следующей ячейки, я определяю стиль ячейки на основе вышеупомянутого, но который также добавляет следующее ...
<DataGrid.Resources>
<Style x:Key="NoFocusDataGridCell" TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource {x:Type DataGridCell}}">
<Setter Property="Focusable" Value="False" />
<Setter Property="IsTabStop" Value="False" />
<Setter Property="IsHitTestVisible" Value="False" />
</Style>
</DataGrid.Resources>
... тогда я применяю это ко всем, кроме определения первого столбца. Таким образом, клавиша табуляции переходит к следующей строке, а не к следующей ячейке.
Однако вернемся к границам. Если вы хотите скрыть их, но по-прежнему хотите, чтобы они были частью макета, измените приведенное выше значение на это ...
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
</Style>
</DataGrid.Resources>
Наслаждайтесь! :)