Это даст каждому столбцу заголовок, но я не уверен, что именно таковы ваши намерения:
<ListView x:Name="test" DockPanel.Dock="Top" Margin="10" ItemsSource="{Binding CurrentView}">
<ListView.ItemTemplate>
<DataTemplate DataType="viewModel:ViewModel">
<Border BorderBrush="Black" BorderThickness="1" Margin="1">
<Expander ToolTip="Expand" ExpandDirection="Down" Foreground="Black">
<Expander.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Column="0">Column 1</Label>
<Label Grid.Column="1">Column 2</Label>
<Label Grid.Column="2">Column 3</Label>
<Label Grid.Column="3">Column 4</Label>
<TextBlock Grid.Column="0" Width="20" Text="{Binding Model.Number, StringFormat='#{0}', Mode=OneWay}" TextAlignment="Left" Margin="5" />
<Image Grid.Column="1" />
<TextBlock Grid.Column="2" TextAlignment="Center" Margin="5" Width="50">
<Hyperlink />
</TextBlock>
<TextBlock Grid.Column="3" TextAlignment="Left" Margin="5" TextWrapping="Wrap" />
<TextBlock Grid.Column="4" TextAlignment="Center" Margin="5" Width="100" />
<Button Grid.Column="5" />
</Grid>
</Expander.Header>
</Expander>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
лучшая структура должна выглядеть примерно так (например, вы должны изменить ее, чтобы удовлетворить свои собственные потребности)):
<ListView Name="test2" HorizontalContentAlignment="Stretch" ItemsSource="{Binding Items}">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="Column1">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}"></TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Column2">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Test}"></TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
Я думаю, что теперь я понимаю, что вы пытаетесь достичь
Я протестировал это решение, и оно отлично работает, попробуйте это с вашими собственными данными:
<CollectionViewSource x:Key='key' Source="{Binding Source={StaticResource MyData}}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="@Catalog" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</Window.Resources>
<ListView ItemsSource='{Binding Source={StaticResource key}}' BorderThickness="0,0,0,0">
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Margin" Value="0,0,0,5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="True"
BorderBrush="Gray"
BorderThickness="0,0,0,1">
<Expander.Header>
<DockPanel>
<TextBlock Text="{Binding Path=Name}" Margin="5,0,0,0" Width="100"/>
<TextBlock Text="{Binding Path=Item}"/>
</DockPanel>
</Expander.Header>
<Expander.Content>
<ItemsPresenter />
</Expander.Content>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListView.GroupStyle>
<ListView.View>
<GridView>
<GridViewColumn Header="ID"
DisplayMemberBinding="{Binding ID}"
Width="100" />
<GridViewColumn Header="Titel"
DisplayMemberBinding="{Binding This}"
Width="100" />
<GridViewColumn Header="Date"
DisplayMemberBinding="{Binding Should}"
Width="100" />
<GridViewColumn Header="Something"
DisplayMemberBinding="{Binding Work}"
Width="100" />
</GridView>
</ListView.View>
</ListView>
Как это выглядит:
![enter image description here](https://i.stack.imgur.com/lM2Tx.png)