UWP ListView项未填充ListView的宽度

时间:2018-08-08 09:43:58

标签: xaml listview uwp

我有一个设置宽度为1000的ListView,如果它们的宽度设置为1000或更大,我希望这些项目能够扩展以填充此宽度。

我找到的所有答案都建议这样做

        <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                <Setter Property="HorizontalContentAlignment" Value="Center"/>
            </Style>
        </ListView.ItemContainerStyle>

这什么都没做。

这是ListView代码。

    <ListView Width="1000" Background="Violet">

        <ListView.ItemTemplate>
            <DataTemplate>
                <Grid Width="1000" Background="Black" HorizontalAlignment="Center">
                    <TextBlock Text="{Binding}"/>
                </Grid>
            </DataTemplate>
        </ListView.ItemTemplate>

        <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                <Setter Property="HorizontalContentAlignment" Value="Center"/>
            </Style>
        </ListView.ItemContainerStyle>

        <ListView.Items>
            <x:String>ITEM1</x:String>
            <x:String>ITEM2</x:String>
        </ListView.Items>

    </ListView>

enter image description here

我尝试了ListBox,并且此行为也存在于此。显然,这些项目可以填充原始宽度减去24,因此,如果我将项目的宽度设置为976,则可以完美填充容器。而且,它被隐藏在容器后面。

谢谢。

1 个答案:

答案 0 :(得分:1)

问题是ListViewItem容器具有填充,从所有侧面开始都是12 epx。要删除它,请将属性也设置为0:

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        <Setter Property="Padding" Value="0" />
    </Style>
</ListView.ItemContainerStyle>