2

如何为 WPF Listview 设置备用行颜色。如果我只有 1 个可以在 XAML 中设置的列表,但在我的情况下,需要根据列表更改备用行颜色。例如,我有 3 个差异列表...
1)按公司名称排序,
2)按部门
排序 3)按市场价值排序
每个列表都应该有自己的备用行颜色。
我该怎么做(在 C# 或 XAML 文件中)。任何想法/建议都会被重视

4

1 回答 1

6

无论您对列表做什么,这都应该有效,因为 ItemsControl.AlternationIndex 是一个依赖属性,应该得到更新:

<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
    <Style TargetType="ListBoxItem">
        <Style.Triggers>
            <Trigger Property="ItemsControl.AlternationIndex"  Value="0">
                <Setter Property="Background" Value="AliceBlue" />
            </Trigger>
        </Style.Triggers>
    </Style>
</Window.Resources>
<StackPanel>  
    <ListBox Name="bob" AlternationCount="2">
        <ListBoxItem Content="Herald"/>
        <ListBoxItem Content="Kumar" />
        <ListBoxItem Content="Bill" />
        <ListBoxItem Content="Dudley" />
        <ListBoxItem Content="Jack" />
    </ListBox>
    <Button Click="Button_Click">boo</Button>
</StackPanel>

用于测试项目更改的代码背后:

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
    Dim item1 As ListBoxItem = bob.Items(4)
    bob.Items.Remove(item1)
    bob.Items.Insert(0, item1)
End Sub
于 2010-11-28T01:39:05.430 回答