2009-11-15 56 views

回答

7

項目控件具有使用樣式對

交替計數看看here

<Style TargetType="{x:Type ListBoxItem}"> 
    <Style.Triggers> 
     <Trigger Property="ItemsControl.AlternationIndex" Value="0"> 
      <Setter Property="Background" Value="LightBlue"></Setter> 
     </Trigger> 
     <Trigger Property="ItemsControl.AlternationIndex" Value="1"> 
      <Setter Property="Background" Value="LightGreen"></Setter> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

享受!

+1

這是一個很棒的功能,謝謝你的提供。但我只需要** **第一項有紅色背景,而不是每個項目其中(itemIndex%AlternationCount)== 0.當然,我可以將AlternationCount綁定到ItemsSource.Count,但沒有任何更好的方法來做這個? – levanovd 2009-11-15 11:24:28

+0

你的輪廓聽起來可以接受,它全部在xaml中。它完成了工作,你可以繼續做更好的事情。別人可能會想出更優雅的解決方案。 你可以做第一個綁定綁定到當前項目和第二個祖先綁定,綁定到列表框的itemssource的多重綁定。那麼在你的轉換器中,你可以檢查該項目的索引是什麼。但上面的解決方案都是在xaml中。我總是喜歡可讀性。它在xaml中顯而易見,不會鎖定在轉換器中 – 2009-11-15 11:52:48

+0

無需將AlternationCount綁定到ItemsSource.Count:只需將它設置爲XAML中的Int32.MaxValue即可。 (我更喜歡使用「{x:Static sys:Int32.Maxvalue}」的AlternationCount =「2147483647」,因爲它更快,大多數程序員可以識別2^31-1)。 – 2009-11-16 08:10:05

相關問題