Wpf 包装纸的替代行颜色

Wpf 包装纸的替代行颜色,wpf,wrappanel,Wpf,Wrappanel,我正在尝试在Listbox/wrappanel上获得替代行颜色效果。但是,由于方向是水平的,因此备用列将获得备用颜色。我希望元素以侧面列出,然后包装。如何在此基础上设置行的备用颜色 <ListBox ItemsSource="{Binding MySource}" ItemContainerStyle="{StaticResource alternatingListItemStyle}" AlternationCount="2"> <ListBox.ItemsPanel&g

我正在尝试在Listbox/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>


为列交替颜色的可能原因是“MaxWidth”。 由于WrapPanel的最大宽度为300,因此可以容纳多个项目。 如果减小maxwidth,它可能会容纳单个项目。 希望这有帮助

(您能解释一下为什么在ItemsPanelTemplate中使用包裹面板吗?
我不确定您希望输出是什么样子。)

谢谢您的回复。我设置了MaxWidth,这样我可以在填充下一行之前让项目横向填充。例如,如果我有项目A、B、C、D、E、F,并且假设一行中只能容纳3个项目,我希望A、B、C在一种颜色的第一行中,D、E、F在另一种背景颜色的下一行中。如果有第三行,它将重复第一行的颜色。