我有一个 ItemsControl,DataTemplate
其中包含一个Margin
值,0,0,0,20
用于在每个项目之间添加 20 像素的间隙。问题是,当此控件滚动时,由于此边距应用于最终项目,最终项目后有 20px 的空闲。
我如何在最后删除/剪掉这个间隙,或者确保它不是首先添加的?即,在项目之间应用 20px 的间隙,但不在列表的开头或结尾?
我有一个 ItemsControl,DataTemplate
其中包含一个Margin
值,0,0,0,20
用于在每个项目之间添加 20 像素的间隙。问题是,当此控件滚动时,由于此边距应用于最终项目,最终项目后有 20px 的空闲。
我如何在最后删除/剪掉这个间隙,或者确保它不是首先添加的?即,在项目之间应用 20px 的间隙,但不在列表的开头或结尾?
在 上ItemsPanelTemplate
,将Margin
属性设置为“0,0,0,-20”。
例子:
<Grid Background="Black">
<ItemsControl ItemsSource="abcdefg" Background="White" VerticalAlignment="Top">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Margin="0,0,0,20" Background="Silver">
<TextBlock Text="{Binding}" Margin="5" />
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Margin="0,0,0,-20" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>