ListBox特定行/项着色不同颜色C#wpf

时间:2015-05-26 14:37:25

标签: c# wpf xaml listbox background-color

我需要以不同的方式标记ListBox中的第一个项目,例如使用不同的颜色。如果我有listbox有一种方法可以为其中的第一项着色。红色首选的是编程方式。

列表框:

 List<CartItem> CartListItem = CartItem.getListOfCartItems(myCart, Items);
 dgProduct.ItemsSource = Items;

的Xaml

 <ListBox Name="dgProduct" HorizontalContentAlignment="Stretch" Margin="0,41,10,0" Grid.RowSpan="3"
             ">
            <ListBox.ItemTemplate>
                 <DataTemplate>
                        .
                        .
                        .
                 </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

1 个答案:

答案 0 :(得分:1)

您可以在AlternationCount上设置ListBox,然后使用StyleTrigger index 0

 <ListBox Name="dgProduct" 
          HorizontalContentAlignment="Stretch" 
          Margin="0,41,10,0" 
          Grid.RowSpan="3"
          AlternationCount="1000">
    <ListBox.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Setter Property="Background" Value="Transparent"/>
            <Style.Triggers>
                <Trigger Property="ItemsControl.AlternationIndex" Value="0">
                    <Setter Property="Background" Value="Red"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </ListBox.ItemContainerStyle>
    <ListBox.ItemTemplate>
         <DataTemplate>
                .
                .
         </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>