从WPF ListBox中删除所有左边距

时间:2009-01-12 16:15:13

标签: c# wpf

WPF ListBox控件中的每个项似乎都有一些左边填充。如何重新删除所有填充?

Default Comparison

2 个答案:

答案 0 :(得分:42)

您还可以为特定ListBoxItem设置ListBox的样式,如下所示:

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

答案 1 :(得分:5)

我不太清楚为什么会发生这种情况(它似乎不是ListBox而是ListBoxItem的问题。如果你将LBI的Background属性设置为红色或其他颜色你可以看到它是同花的在LB的左侧。

快速破解是为按钮设置负余量: Margin =“ - 3 0 0 0”这可能会导致一些意外的副作用,但在视觉上有效......

编辑快速检查确认LBI具有默认填充。你可以这样关掉它:

<ListBoxItem Padding="0"><!-- content here k --></ListBoxItem>

或者,您可以在Window的资源中拍一个样式,这样就会从项目中的所有LBI中删除它(这可能是伪代码,但你明白了):

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