Here‘s another way to do this using ListView
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" FontSize="14"
HorizontalAlignment="Center">
ListView created with XAML
</TextBlock>
<ListView Grid.Row="1" Grid.IsSharedSizeScope="True" x:Name="myListViewInXaml" ItemsSource="{Binding Source=
{StaticResource EmployeeInfoDataSource}}">
<ListView.View>
<GridView AllowsColumnReorder="true"
ColumnHeaderToolTip="Employee Information">
<GridViewColumn>
<GridViewColumnHeader HorizontalContentAlignment="Stretch">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="firtName" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Text="Full Name" HorizontalAlignment="Center" />
<Separator Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" />
<TextBlock Grid.Row="2" Grid.Column="0" Text="First Name" />
<GridSplitter Grid.Row="2" Grid.Column="1" Width="3" ResizeBehavior="PreviousAndNext" />
<TextBlock Grid.Row="2" Grid.Column="2" Text="Last Name" />
</Grid>
</GridViewColumnHeader>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="firtName" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Path=FirstName}" />
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Path=LastName}" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding=
"{Binding Path=EmployeeNumber}"
Header="Employee No." Width="100"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
联系客服