如何在ListViewItem之间添加行
本文关键字:之间 添加行 ListViewItem | 更新日期: 2023-09-27 17:50:53
我应该把ListView的ListViewItem分开。我为它编写了下一个XAML:
<Window.Resources>
<Style x:Key="myTemplate" TargetType="ListViewItem">
<Setter Property="BorderThickness" Value="0,4,0,0"/>
<Setter Property="BorderBrush" Value="Red"/>
</Style>
</Window.Resources>
现在我可以通过以下方式使用这些资源:
<Grid>
<ListView Name="listview1" HorizontalAlignment="Left" Height="164" Margin="191,83,0,0" VerticalAlignment="Top" Width="307" ItemContainerStyle="{StaticResource myTemplate}" BorderThickness="5">
<ListView.View>
<GridView>
<GridViewColumn>
</GridViewColumn>
</GridView>
</ListView.View>
<!--this data is only for sample. Really it's load by binding-->
<ListViewItem Content="1"/>
<ListViewItem Content="2"/>
<ListViewItem Content="3"/>
</ListView>
是的,everythink工作得很好,但我不想对第一个元素应用这种样式(我不想看到第一个元素的边界)。如果我使用下一种方法来实现所需的视图,当它被选中时,项目不会突出显示:
<Window.Resources>
<Style x:Key="myTemplate" TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<StackPanel>
<Separator x:Name="Separator"/>
<ContentPresenter/>
</StackPanel>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}">
<Setter Property="Visibility" TargetName="Separator" Value="Collapsed"/>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
如何实现所需视图?
只需创建两个样式,第一个样式(不带分隔符)仅应用于第一个元素,第二个样式((带分隔符))应用于所有其他元素