如何清除列表框中复选框角的边距

How to clear the margins of the corners of a checkbox in a listbox

enter image description here 请检查图像。

listbox里面的模板里面有一个checkbox,我在里面设置了红色背景色

当我点击红色复选框时工作正常。

但是当我点击图片黑色箭头时,没有勾选

如何清除空白并将其与复选框同步?

我尝试设置边距,但无法解决。

        <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>

谢谢你帮助我。

将此代码添加到您的 ListBox:

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

这会将 ListBoxItem 容器的 Padding 设置为 0。结果如下所示: