设置分组ListView项目的背景颜色

时间:2016-08-28 21:29:44

标签: wpf listview grouping

我有一个ListView,其中包含按球队分组的球员数据。它看起来像这样:

team 1
  player 1
  player 2
  player 3
  player 4

在我的情况下,每支球队有3名现役球员。因此,我想正常显示前3名球员,以及其他背景颜色不同的球员。

因此背景颜色不依赖于项目本身,而是取决于其在显示组中的位置。从概念上讲,我可以根据(假设的)CurrentGroup.IndexOfThisItem属性定义背景颜色,但我不知道这样的属性是否存在以及我如何访问它。

1 个答案:

答案 0 :(得分:0)

您可以使用触发器有条件地设置值

使用DataTrigger查看商品是否符合您的条件,然后您可以通过设置器设置所需的颜色

<ListView Name="list">
<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Style.Triggers>
            <DataTrigger Binding="{Binding}"
                         Value="red">
                <Setter Property="Background"
                        Value="red" />
            </DataTrigger>
            <DataTrigger Binding="{Binding}"
                         Value="mygreen">
                <Setter Property="Background"
                        Value="green" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ListView.ItemContainerStyle>