프로그래밍/WPF

[WPF] ListView ListViewItme 사이의 Margin Padding 제거

흔한티벳여우 2022. 9. 16. 16:00
반응형

ListView를 이용하여 여러 Item들을 표시하면 Item 사이에 Margin 과 Padding이 있는 경우가 있다.

<ListView Padding="0" Margin="0">
    <ListViewItem>
        <Rectangle Width="300" Height="100"
                        Fill="Black"/>
    </ListViewItem>
    <ListViewItem>
        <Rectangle Width="300" Height="100"
                        Fill="Red"/>
    </ListViewItem>
    <ListViewItem>
        <Rectangle Width="300" Height="100"
                        Fill="Blue"/>
    </ListViewItem>
</ListView>

이러한 마진을 없애고 싶으면 ItemContainerStyle을 이용하여 해당 마진을 없애면된다.

<ListView Padding="0" Margin="0">
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="Padding" Value="0"/>
            <Setter Property="Margin" Value="0"/>
            <Setter Property="BorderThickness" Value="0"/>
        </Style>
    </ListView.ItemContainerStyle>
    <ListViewItem>
        <Rectangle Width="300" Height="100"
                        Fill="Black"/>
    </ListViewItem>
    <ListViewItem>
        <Rectangle Width="300" Height="100"
                        Fill="Red"/>
    </ListViewItem>
    <ListViewItem>
        <Rectangle Width="300" Height="100"
                        Fill="Blue"/>
    </ListViewItem>
</ListView>

margin과 Padding 뿐만 아니라 Border까지 설정되어서 Border 두께도 0으로 해주어야 한다.

반응형