我得到了一个ItemsControl,它有一个条目DataTemplate,其中包含一个Margin值0,0,0,20,以在每个项目之间添加一个20像素的间隔。问题是,当此控件正在滚动时,在将此边距应用到最终项所导致的最终项之后,会有一个备用的20 by。
我如何消除/剪辑这个差距在最后,或确保它没有被添加在第一?例如,在项目之间应用20便士的差距,而不是在列表的开始或结束时?
发布于 2013-01-08 17:51:59
在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>https://stackoverflow.com/questions/14220897
复制相似问题