首先我们有的是一个绑定好数据的ItemsControl
<ItemsControl ItemsSource="{Binding Starts}">
</ItemsControl>
运行后呢是朴素的将数据竖着排列
如果想要数据之间有间距,可以使用数据模板,将数据放到TextBlock中显示,这样就可以设置间距了
<ItemsControl ItemsSource="{Binding Starts}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Padding="5" Text="{Binding}"></TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
如果还想要让数据隔一行显示不同背景就可以使用触发器来进行设置
<ItemsControl ItemsSource="{Binding Starts}" AlternationCount="2">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border x:Name="border" Padding="5">
<TextBlock Text="{Binding}"></TextBlock>
</Border>
<DataTemplate.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter TargetName="border" Property="Background" Value="lightgray"></Setter>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
--- 重点是设置2个就是一个间隔
对于这个间隔的触发器是有很多种写法的:WPF触发器的多种写法-CSDN博客