2012-08-12 105 views
1

我想在Listbox/wrappanel上獲得替代的行顏色效果。然而,由於方向是水平的,所以備用列正在獲得替代顏色。我希望元素被列出,然後包裝。如何根據此設置行上的替代顏色。一個wrappanel的替代行顏色

<ListBox ItemsSource="{Binding MySource}" ItemContainerStyle="{StaticResource alternatingListItemStyle}" AlternationCount="2"> 
<ListBox.ItemsPanel> 
    <ItemsPanelTemplate> 
     <WrapPanel Orientation="Horizontal" MaxWidth="300"/> 
    </ItemsPanelTemplate> 
</ListBox.ItemsPanel> 
<ListBox.ItemTemplate> 
    <DataTemplate> 
     <CheckBox Content="{Binding MyCaption}"/> 
    </DataTemplate> 
</ListBox.ItemTemplate> 

回答

0

其原因可能爲列交替顏色是 'MaxWidth'。 由於WrapPanel的MaxWidth爲300,因此可以保存多個項目。 如果您減小最大寬度,它可能會保存一個項目。 希望這有助於。

(你能解釋爲什麼您使用的是ItemsPanelTemplate? 一個包裹面板我不知道你怎麼想輸出的樣子。)

+0

感謝您的答覆。我設置了MaxWidth,這樣我可以在填充下一行之前將項目填充到側面。例如,如果我有項目A,B,C,D,E,F,並且假設只有3個可以排成一行,我希望A,B,C排在一個顏色中,第二個排在一個顏色中,D,E,F在下一個排與另一種背景顏色。如果有第三行,它將重複第一行的顏色。 – 2012-08-12 06:16:27