Any Equivalent of DataGridTextColumn.width=“*” for DataGrid rows' height?

徘徊边缘 提交于 2019-12-24 11:53:47

问题


In my understanding, by giving the value "", a DataGridColumn expands to fill all available margin of a DataGrid. I'd normally specify "" for all the columns to make their widths equal and leave no margin.

<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>

However, what if my DataGrid is rotated, and the first row serves as an actual column header (it may sound a bad design, but...). In that case, is there anyway to get all the row's height equalize, and leave no margin?

<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>

来源:https://stackoverflow.com/questions/14834002/any-equivalent-of-datagridtextcolumn-width-for-datagrid-rows-height

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!