有點晚就這一個派對,但我碰到,我需要一個網格,類似的情景來了坐在DataGrid下面並共享相同的列跨度。您可以實現類似的東西來digitguy的回答只使用XAML:
<DataGrid x:Name="dgOne">
<DataGrid.Columns>
<DataGridTextColumn Header="One" />
<DataGridTextColumn Header="Two" />
<DataGridTextColumn Header="Three" />
<DataGridTextColumn Header="Four" />
</DataGrid.Columns>
</DataGrid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding Columns[0].ActualWidth, ElementName=dgOne}" />
<ColumnDefinition Width="{Binding Columns[1].ActualWidth, ElementName=dgOne}" />
<ColumnDefinition Width="{Binding Columns[2].ActualWidth, ElementName=dgOne}" />
<ColumnDefinition Width="{Binding Columns[3].ActualWidth, ElementName=dgOne}" />
</Grid.ColumnDefinitions>
...
</Grid>
沒有理由,你不能做同樣的事情有兩個DataGrid中。
<DataGrid x:Name="dgOne">
<DataGrid.Columns>
<DataGridTextColumn Header="One" />
<DataGridTextColumn Header="Two" />
<DataGridTextColumn Header="Three" />
<DataGridTextColumn Header="Four" />
</DataGrid.Columns>
</DataGrid>
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Header="One" Width="{Binding Columns[0].ActualWidth, ElementName=dgOne}" />
<DataGridTextColumn Header="Two" Width="{Binding Columns[0].ActualWidth, ElementName=dgOne}" />
<DataGridTextColumn Header="Three" Width="{Binding Columns[0].ActualWidth, ElementName=dgOne}" />
<DataGridTextColumn Header="Four" Width="{Binding Columns[0].ActualWidth, ElementName=dgOne}" />
</DataGrid.Columns>
</DataGrid>