2015-05-26 93 views
1

我需要用不同的顏色以不同的方式標記ListBox中的第一個項目。如果我有listbox有沒有一種方法來爲它的第一個項目着色紅色首選編程。ListBox特定的行/項目着色不同的顏色C#wpf

列表框:

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

您可以設置在ListBoxAlternationCount然後用StyleTriggerindex 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> 
+0

感謝,但它不承認「背景」 –

+0

@NitzanFarhi,看到編輯 –

+0

@NitzanFarhi,還屬性區分大小寫。確保它的「背景」而不是「背景」 –