而且我还要为标题的背景着色。 请帮忙。
由于
答案 0 :(得分:10)
您需要设置AlternationIndex设置的样式。 This page举了一个例子
(定义风格)
<Style x:Key="CustomListViewItemStyle" TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="#2C2C2C"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#262626"></Setter>
</Trigger>
</Style.Triggers>
</Style>
(使用定义的样式)
<ListView ItemContainerStyle="{DynamicResource CustomListViewItemStyle}"
AlternationCount="2">
...
</ListView>
答案 1 :(得分:0)
' Snipet demonstrating how to alternate colors per N rows of DataGrid using code (VB.Net without Xaml). Uses .Net 3.5 feature of AlternationIndex, AlternationCount
' Assumes DataGrid1 is defined in Window1
' Alternation can be on any size (row count)
Dim BackgroundStyle As New Style
BackgroundStyle.TargetType = GetType(DataGridRow)
For i As Integer = 1 To alternationRows
Dim tr As New Trigger
tr.Property = ItemsControl.AlternationIndexProperty
tr.Value = i - 1
Dim st As New Setter
st.Property = BackgroundProperty
st.Value = New SolidColorBrush(Color.FromRgb(CByte(&HFF - i * 8), CByte(&HFF - i * 8), CByte(&HFF - i * 8)))
tr.Setters.Add(st)
BackgroundStyle.Triggers.Add(tr)
Next
DataGrid1.ItemContainerStyle = BackgroundStyle
DataGrid1.AlternationCount = BackgroundStyle.Triggers.Count