Cómo borrar los márgenes de las esquinas de una casilla de verificació

Cómo borrar los márgenes de las esquinas de una casilla de verificación en un cuadro de lista

ingrese la descripción de la imagen aquí Por favor revise la imagen.

Hay una casilla de verificación en la plantilla en el cuadro de lista, y configuré el color de fondo rojo en ella.

Cuando hago clic en la casilla de verificación roja funciona bien.

Pero cuando hago clic en la flecha negra de la imagen, no está marcada.

¿Cómo puedo borrar el espacio en blanco y sincronizarlo con la casilla de verificación?

Intenté configurar el margen de relleno pero no pude resolverlo.

        <ListBox x:Name="xList" Grid.Row="1" HorizontalContentAlignment="Stretch">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel Orientation="Vertical" IsItemsHost="True" />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>

        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid Background="red">
                <CheckBox IsChecked="{Binding IsVisible, Mode=TwoWay}"
                          VerticalContentAlignment="Center" 
                          Content="{Binding Header}"
                          Height="28" />
                </Grid>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

Gracias por ayudarme.

Mostrar la mejor respuesta

Agregue este código a su ListBox:

<ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
        <Setter Property="Padding" Value="0" />
    </Style>
</ListBox.ItemContainerStyle>

Esto establecerá el Padding del contenedor ListBoxItem en 0. El resultado se ve así:

imagen de resultado

Lo configuré en el cuadro de lista y solo en la plantilla de datos. No había pensado en configurar el elemento listbox. ¿Esto hace mucha diferencia?

No estoy seguro de lo que quieres decir exactamente, pero sí, hace la diferencia. La propiedad ItemContainerStyle le permite modificar el aspecto del contenedor que contiene su DataTemplate.