从WPF ListBox中删除所有左填充

28

WPF ListBox控件中的每个项目似乎都有一点左边距。我如何重新样式以删除所有填充?

Default Comparison

2个回答

51

您还可以按以下方式为特定的ListBox样式化其ListBoxItem

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

6
我不太确定为什么会发生这种情况(似乎不是ListBox的问题,而是ListBoxItem的问题。如果将LBI的背景属性设置为红色或其他颜色,您可以看到它与LB的左侧齐平。
一个快速的解决方法是为按钮设置负边距: Margin="-3 0 0 0",这可能会导致一些意外的副作用,但在视觉上有效...
编辑 快速检查确认LBI有默认填充。你可以像这样关闭它:
<ListBoxItem Padding="0"><!-- content here k --></ListBoxItem>

另外,您可以在Windows资源中添加一个样式,以便从项目中的所有LBIs中删除此内容(这可能是伪XAML,但您可以理解):

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接