這里用ListView為案例。
如圖效果:
主要思路:
用AlternationCount屬性來設置需要使用斑馬線的條數,就是說幾行一換色,也可以理解為需要幾種顏色,
然后再樣式模板中,寫觸發器屬性ItemsControl.AlternationIndex,然后設置Value值,然后根據Value值的下標進行設置顏色,
代碼:
Style代碼:
<Style TargetType="ListViewItem"><Setter Property="Background" Value="Orange"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="ListViewItem"><Border x:Name="border" Background="Transparent"><GridViewRowPresenter /></Border><ControlTemplate.Triggers><!--斑馬線--><Trigger Property="ItemsControl.AlternationIndex" Value="1"><Setter TargetName="border" Property="Background" Value="blue"/><Setter TargetName="border" Property="TextElement.Foreground" Value="White"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter>
</Style>
使用代碼:
<ListView AlternationCount="2"><ListView.View><GridView><GridViewColumn Header="A" DisplayMemberBinding="{Binding [0]}" Width="200"/><GridViewColumn Header="B" DisplayMemberBinding="{Binding [1]}" Width="200"/><GridViewColumn Header="C" DisplayMemberBinding="{Binding [2]}" Width="200"/></GridView></ListView.View><ListViewItem Content="ABC"/><ListViewItem Content="ABC"/><ListViewItem Content="ABC"/><ListViewItem Content="ABC"/>
</ListView>