私の理解では、値 " " を指定すると、DataGridColumn が拡張され、DataGrid
. 通常、すべての列に " " を指定して幅を等しくし、マージンを残さないようにします。
<DataGrid.Columns>
<DataGridTextColumn Header="Header" Width="*"/>
<DataGridTextColumn Header="Header" Width="*"/>
<DataGridTextColumn Header="Header" Width="*"/>
<DataGridTextColumn Header="Header" Width="*"/>
<DataGridTextColumn Header="Header" Width="*"/>
<DataGridTextColumn Header="Header" Width="*"/>
</DataGrid.Columns>
ただし、DataGrid が回転し、最初の行が実際の列ヘッダーとして機能する場合はどうでしょうか (設計が悪いように聞こえるかもしれませんが...)。その場合、すべての行の高さを等しくしてマージンを残さないようにする方法はありますか?
<DataGrid.Columns>
<DataGridTextColumn Header="Header"/>
<DataGridTextColumn Header="Header"/>
<DataGridTextColumn Header="Header"/>
<DataGridTextColumn Header="Header"/>
<DataGridComboBoxColumn Header="Header"/>
<DataGridTextColumn Header="Header"/>
<DataGridComboBoxColumn Header="Header"/>
<DataGridTextColumn Header="Header"/>
<DataGridTextColumn Header="Header"/>
</DataGrid.Columns>
<DataGrid.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</DataGrid.LayoutTransform>
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}"
BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
<Setter Property="LayoutTransform">
<Setter.Value>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Setter.Value>
</Setter>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="LayoutTransform">
<Setter.Value>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Setter.Value>
</Setter>
</Style>
</DataGrid.CellStyle>