我正在使用HeaderedItemsControl。每個項目是一個3列的網格,每列中都有一個邊框和TextBlock。我希望每個項目中邊界的背景顏色交替出現。 (基本交替行的背景效果)。我試圖在爲應用背景顏色,在它所有的邊界網格中的用戶控件級別創建一個風格的基礎上,包含控制AlternationIndex:如何根據父級的AlternateIndex設置孩子的風格?
<Style TargetType="Grid" x:Key="myItemsGrid">
<Style.Resources>
<Style TargetType="Border">
<Setter Property="Background" Value="Azure" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=AlternationIndex, RelativeSource={RelativeSource AncestorType=ItemsControl}}" Value="2">
<Setter Property="Background" Value="{StaticResource color_LogoLight}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Style.Resources>
</Style>
的Setter位正在工作,因爲邊界都是「Azure」。但是,如何正確引用AlternationIndex,以便每隔一行更改邊框背景顏色。我試着將RelativeSource指向HeaderedItemsControl和ItemsControl,但都不是正確的目標。我瀏覽了活的視覺樹,但我找不到任何可以參考的地方。
任何幫助表示讚賞。
有兩件事... ContentPresenter有點失蹤。我理解了這個概念,但我無法辨別在這種情況下作爲「ListBoxItem」的行爲。而且,出於某種原因,括號會有所作爲,因爲沒有它們就無法運作。很有幫助。感謝您的答覆。 –