如何删除ListBoxItem周围的小填充?

时间:2012-03-25 05:10:50

标签: c# wpf xaml listbox styles

我正在设计一个listBox。我正在尝试清除边距,所以我意识到它,我将样式的填充设置为0(左边填充)。

但是我仍然可以看到它的一些余量,我需要没有余量吗?你知道哪个会出问题吗?

enter image description here

            <ListBox ItemsSource="{Binding Partitions}">
                <ListBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <Canvas />
                    </ItemsPanelTemplate>
                </ListBox.ItemsPanel>

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

我的意思是,我可以看到项目周围有一个额外的空间,我无法处理它以修改为0.

1 个答案:

答案 0 :(得分:3)

填充是在ListBox的{​​{3}}中进行硬编码的,您需要覆盖它或在运行时修改它(我推荐)。

<ControlTemplate TargetType="{x:Type ListBox}">
    <Border Name="Bd"
            Background="{TemplateBinding Background}"
            BorderBrush="{TemplateBinding BorderBrush}"
            BorderThickness="{TemplateBinding BorderThickness}"
            SnapsToDevicePixels="true"
            Padding="1"> <!-- Here -->