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>
如何让 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>