Альтернативный цвет фона в Listview XAML

используя listView на основе itemTemplate. Так что мне нужно в моем шаблоне чередовать цвет фона:

- первый ряд: белый

- второй ряд: серый

- третий ряд: белый

- вперед: серый

это мой шаблон:

     
        
            
                
                
            
            
                
            
            
                
                    
                    
                    
                    
                
                
                    
                    
                

                

                

                
                

                

                
                

                

                

            
        
    

Как я могу сделать это, пожалуйста?

 user142879809 окт. 2012 г., 11:40
в списке естьНет члена AlternationCount = "2"
 Nathan Cooper28 июл. 2014 г., 09:59
 D J09 окт. 2012 г., 16:26
вам нужно запустить триггер на основе его индекса. Я думаю, что конвертер будет полезен для такого триггера.
 Bathineni09 окт. 2012 г., 11:04

Ответы на вопрос(2)

Вам следует использовать свойство AlternationCount, и оно работает с ListBox, ListView или любым другим элементом управления, который наследуется от ItemsControl. Определение свойства и два примера включены в

https://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.alternationcount%28v=vs.110%29.aspx)

Решение Вопроса

Я попробовал это, и это работает для меня.

<window x:class="TryResponses.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:vm="clr-namespace:TryResponses" xmlns:system="clr-namespace:System;assembly=mscorlib" title="MainWindow" height="350" width="525">
<window.resources>
    <vm:mainwindowviewmodel x:key="MainWindowViewModel">
</vm:mainwindowviewmodel></window.resources>
<grid background="LightGray" datacontext="{StaticResource MainWindowViewModel}">
    <grid.resources>
        <style targettype="ListViewItem">
            <Style.Triggers>
                <Trigger Property="ItemsControl.AlternationIndex"  Value="0">
                    <Setter Property="Background" Value="LightBlue" />
                </Trigger>
                <Trigger Property="ItemsControl.AlternationIndex"  Value="1">
                    <Setter Property="Background" Value="LightGray" />
                </Trigger>
            </Style.Triggers>
        </style>
        <datatemplate datatype="system:String">
            <!-- put your data template here -->
        </datatemplate>
    </grid.resources>
    <listview itemssource="{Binding Items}" alternationcount="2">
</listview></grid>
</window>

Я надеюсь, это поможет.

С уважением

Клод

 kenjara14 авг. 2014 г., 17:06
Это решение отлично работает. Убедитесь, что вы установили счетчик чередований в элементе управления коллекцией. Я добавил триггеры стилей в ListView.ItemContainerStyle в моем Listview. Спасибо!
 honzakuzel198921 окт. 2016 г., 09:43
Работает хорошо! Благодарю.
 Gaurav12328 июл. 2014 г., 11:33
Это не сработало для меня. Можете ли вы проверить мой вопрос для того же a5tstackoverflow.com/questions/24990609/...

Ваш ответ на вопрос