Grid+Lable+border嵌套DataGrid方式。
该方案是现在项目中已使用的方案。实现起来比较简单,但不具有通用性,不同数据DataGrid需要指定不同的TextBlock跨不同列。实现起来局限性,目前不能冻结列。而且列名必须是已知的列名。
直接上图:
图为我实现的简单的例子。源码在下面将贴出,可能有点多,有兴趣的朋友也可以去 CSDN 进行下载(http://download.csdn.net/detail/yguang_zh/6274359)
<Window x:Class="MultiGrid.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding ElementName=Column1, Path=ActualWidth}" />
<ColumnDefinition Wi