XAML ListView - 相互堆叠项目
Posted
技术标签:
【中文标题】XAML ListView - 相互堆叠项目【英文标题】:XAML ListView - Stack items over each other 【发布时间】:2015-12-19 19:35:27 【问题描述】:如何让 ListView(或类似的对象)将其项目叠加相互堆叠。 就像一堆现实生活中的报纸或明信片。
【问题讨论】:
我在哪里放置这个属性?只是在 ItemsTemplate 中?如何将 Z-Index 绑定到 ListItem 索引? 也许使用ItemContainerStyle
为每个项目设置负边距,以便它们重叠。您可能还需要覆盖 ItemsPanelTemplate
以使用允许重叠子级的面板...我不确定 StackPanel 是否默认允许它。
不确定可能会有所帮助Check This
我正在用一堆卡片编写游戏。当挑选一张新卡时,我想逐渐消失。可能有很多卡片(如 50-70),因此保证金方法可能无法扩展。让他们在同一个地方互相重叠会很好。
【参考方案1】:
找到解决办法:
<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.Items>
<TextBlock Text="hallo" />
<TextBlock Text="welt" />
</ItemsControl.Items>
</ItemsControl>
【讨论】:
【参考方案2】:如果您希望项目重叠,您可以简单地设置负边距。
例如,使用简单的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
可以达到相同的结果,但它可能会稍微烦人,因为您可能需要调整控件的默认边距。
【讨论】:
以上是关于XAML ListView - 相互堆叠项目的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin表单ListView ItemTapped / ItemSelected在XAML上绑定命令