XAML ListView - 将项目相互堆叠

XAML ListView - Stack items over each other

如何让 ListView(或类似对象)将其项目堆叠。 就像现实生活中的一堆报纸或 post 卡片。

如果您希望项目重叠,只需设置负边距即可。

例如,使用简单的 ItemsControl:

<ItemsControl x:Name="ListView" Margin="5 75 5 0">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Border BorderBrush="Black" BorderThickness="2" HorizontalAlignment="Stretch" Margin="0 -65 0 0" Background="White" CornerRadius="10" Height="80">
                <TextBlock Text="{Binding}"></TextBlock>
            </Border>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

渲染图:

使用 ListView 可以获得相同的结果,但它可能会稍微烦人一些,因为您可能必须调整控件的默认边距。

找到解决方案:

<ItemsControl>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Grid/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.Items>
        <TextBlock Text="hallo" />
        <TextBlock Text="welt" />
    </ItemsControl.Items>
</ItemsControl>