How can I pass alternating background color of row and background color of column column to list in WPF?

And also I want to color the background of the headers. Please, help.

thanks

+6
listview background wpf
source share
2 answers

You need to customize the style with the AlternationIndex kit. This page gives an example.

(style definition)

<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> 

(using a specific style)

 <ListView ItemContainerStyle="{DynamicResource CustomListViewItemStyle}" AlternationCount="2"> ... </ListView> 
+10
source share
 ' 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 
0
source share

All Articles