是否可以使用某种颜色突出显示列表视图中的每一行?例如,我有一个listview,其中包含数据表中绑定的数据。所以我想让第一行背景为白色,然后第二行为蓝色(例如),然后第三行为白色,第四行为蓝色,依此类推。此外,当我将新项目添加到列表视图时,我希望此效果自动继续。
答案 0 :(得分:3)
[来自@Tim的评论你可以使用Google搜索并从here获得MS解决方案,或者查看@ Vijay的link ... ]
采用不同的方法。首先在ResourceDictionary
中创建一个样式元素,或者如果您没有ResourceDictionary
将其放在页面本身上
<Style x:Key="alternatingListViewItemStyle" TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<!-- setting up triggers for alternate background colors -->
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="LightGray"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="White"></Setter>
</Trigger>
</Style.Triggers>
<!-- setting row height here -->
<Setter Property="Height" Value="30" />
</Style>
现在在实际的ListView上设置ItemContanerStyle
并设置AlternationCount
属性:
<ListView Name="recordContainer" ItemContainerStyle="{StaticResource alternatingListViewItemStyle}" AlternationCount="2" >
<ListView.View>
<GridView>
<!-- Just a few sample columns -->
<GridViewColumn Header="aField" />
<GridViewColumn Header="anotherField" />
<GridViewColumn Header="yetAnotherField" />
</GridView>
</ListView.View>
<!-- Whatever you might have in here -->
</ListView>
我希望这会有所帮助。