Выбор строки DataGrid не работает, когда к ячейкам добавляется заполнение

Элемент управления DataGrid в WPF ведет себя странно. Когда я нажимаю на строку, она должна быть выбрана. При нажатии на границу ячейки или границу строки возникает проблема. Это просто ничего не делает. Как пользователь, я хочу щелкнуть строку и выбрать ее, не заставляя меня повторно щелкать, потому что я случайно нажал на границу между ячейками.

Можно ли как-то исправить это поведение, поэтому независимо от того, где я нажимаю, он выбирает строку?

[редактировать]

Я обнаружил, что это вопрос стиля, который я применил к DataGrid для свойства CellStyle:

<Style x:Key="CustomDataGridCellStyle" TargetType="DataGridCell">
    <Setter Property="Padding" Value="2" />
    <Setter Property="Margin" Value="0" />
    <Setter Property="Background" Value="White" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="DataGridCell">
                <Border x:Name="border" 
                              BorderBrush="#CCaaccda"
                              BorderThickness="1"
                              CornerRadius="0"
                              Padding="4"
                            >
                    <ContentPresenter />
                </Border>
                <ControlTemplate.Triggers>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsSelected}" Value="true">
                        <Setter TargetName="border" Property="Background" Value="#CC119EDA"/>
                    </DataTrigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>   
</Style>

Если я уберу его, он работает. Я брожу, как стиль может связываться с взаимодействиями для контроля.

[редактировать]

Padding="4"

препятствует тому, чтобы созданная пустая область между ячейками не смогла пройти тест на попадание. Любая идея, как добавить не самый хитовый блокирующий отступ в ячейки?

[редактировать]

И решение очень странное.

<Grid Background="Transparent" IsHitTestVisible="True">
    <ContentPresenter Margin="4"/>
</Grid>

Маржа добавляется к содержимому ячейки и не реагирует на нажатие. Но я окружил его Grid, который имеет IsHitTestVisible = "True" и является прозрачным. WPF сумасшедший странно.

Ответы на вопрос(1)

Ваш ответ на вопрос