1、建立数据示例。
表格项目有:序号、姓名、性别、联系电话、联系邮箱1、联系邮箱2
数据自拟
注:联系邮箱1与邮箱2将作为“联系邮箱”下的二级表头
2、用xaml建立DataGrid。
<DataGrid
DataContext="{Binding Source={StaticResource DataBase_1}}"
ItemsSource="{Binding Collection}">
<DataGrid.Columns>
//填充表格内容(步骤5)
</DataGrid.Columns>
</DataGrid>
3、用xaml写表头的数据模板。
<DataTemplate x:Key="multipleTable_Header">
<StackPanel HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<Border>
<Label Content="邮箱" Width="340"
HorizontalContentAlignment="Center"/>
</Border>
<Border>
<GridSplitter BorderBrush="Black"
BorderThickness="0.5"
HorizontalAlignment="Stretch"/>
</Border>
<Border>
<StackPanel Width="340" Orientation="Horizontal">
<Label Content="邮箱1" Width="170"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"/>
<GridSplitter BorderBrush="Black"
BorderThickness="0.5"/>
<Label Content="邮箱2" Width="170"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"/>
</StackPanel>
</Border>
</StackPanel>
</DataTemplate>
4、用xaml写表列的数据模板。
<DataTemplate x:Key="multipleTable_Clomns" >
<StackPanel Width="Auto" Height="Auto" Orientation="Horizontal">
<Border>
<TextBlock Margin="1,0,1,0" Width="170"
Text="{Binding 邮箱1}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<Border>
<GridSplitter Background="Black"
BorderThickness="0.5"
BorderBrush="Black"
Margin="0,-1,0,-1"/>
</Border>
<Border>
<TextBlock Margin="1,0,1,0" Width="170"
Text="{Binding 邮箱2}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</StackPanel>
</DataTemplate>
5、在DataGrid中填充列内容。
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding 序号}" Header="序号"/>
<DataGridTextColumn Binding="{Binding 姓名}" Header="姓名"/>
<DataGridTextColumn Binding="{Binding 性别}" Header="性别"/>
<DataGridTextColumn Binding="{Binding 电话}" Header="电话"/>
<DataGridTemplateColumn
HeaderTemplate="{StaticResource multipleTable_Header}"
CellTemplate="{StaticResource multipleTable_Clomns}"/>
</DataGrid.Columns>