1

是否可以用某种颜色突出显示列表视图中的每一行?例如,我有一个列表视图,其中包含数据表中的数据,绑定到它。所以我想让第一行背景为白色,然后第二行为蓝色(例如),然后第三行为白色,第四行再次为蓝色,依此类推。此外,当我将新项目添加到列表视图时,我希望这种效果能够自动继续。

4

1 回答 1

3

[从@Tim 的评论中,您可以通过 Google 搜索并从这里获得 MS 解决方案或查看 @Vijay 的链接... ]

对于不同的方法。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>

现在ItemContanerStyle在实际的 ListView 上设置并设置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>

我希望这有帮助。

于 2013-08-12T10:21:43.600 回答