6 Stimmen

Wie kann ich abwechselnd Zeile Hintergrundfarbe und abwechselnd Spalte Hintergrundfarbe der Listview in WPF geben?

Außerdem möchte ich den Hintergrund der Kopfzeilen einfärben. Bitte helfen Sie.

Gracias

10voto

ChrisF Punkte 130622

Sie müssen einen Stil einrichten, für den der AlternationIndex festgelegt ist. Diese Seite gibt ein Beispiel

(Definition des Stils)

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

(unter Verwendung des definierten Stils)

<ListView ItemContainerStyle="{DynamicResource CustomListViewItemStyle}"
          AlternationCount="2">
    ...
</ListView>

0voto

' 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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X