私の CollectionViewSource は次のようになります。
<CollectionViewSource x:Key="cvs" Source="{Binding PlayerNodeDTO}"/>
上記の CVS にバインドされているリストビューは次のようになります。
<ListView Margin="0,30,0,0" ItemsSource="{Binding Source={StaticResource cvs}}" Style="{DynamicResource ListViewStyle1}" Height="578" ScrollViewer.VerticalScrollBarVisibility="Disabled" Background="Transparent" x:Name="liveGrid" SelectionChanged="PlayerNodeSelected">
<ListView.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Margin" Value="20,10,0,0"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border Name="Bd" BorderBrush="{x:Null}" BorderThickness="0" Padding="0">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Margin" Value="0,0,60,0"/>
</Style>
</GroupStyle.ContainerStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Height="28">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<TextBlock VerticalAlignment="Bottom" Margin="23,0,0,0" Foreground="White" FontWeight="Bold" FontSize="14" Text="{Binding Name}"/>
</StackPanel>
<Border Grid.Column="1" BorderBrush="White" BorderThickness="0,0,0,1"/>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<controls:Control1/>
<controls:Control1/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
groupdescription を追加していない場合、すべて正常に動作します。つまり、リスト ビューでは 1 つの列に 4 つの項目が表示され (コントロールのサイズによって決定されます)、もう 1 つの項目が来るとすぐに、次のように 2 番目の列に表示されます。
4 4 4
4 4 4
4 4
4 4
しかし、グループの説明を追加すると、特定のグループ内のすべてのアイテムが次のように垂直に表示されます。
グループ1 グループ
2 4 4
4 4
4 4
4
4 4
4 4
各グループ内のすべてのアイテムも、前述とまったく同じ動作に従うようにしたいと考えています。