我想更改DataGrid选择的行高,而DataGrid中的数据保持不变

时间:2018-08-20 07:44:09

标签: c# datagrid wpf-controls wpfdatagrid wpftoolkit

在选择时,我想更改DataGrid Selected行高。我用了两种方法。 1)我在DataGrid中添加了一个扩展器

<DataGrid x:Name="bookings_dg"  Expander.Expanded="Expander_Expanded"  IsReadOnly="True">
        <DataGrid.RowHeight>30</DataGrid.RowHeight>

这是我的扩展事件

private void Expander_Expanded(object sender, RoutedEventArgs e)
    {
        if (bookings_dg.RowHeight == 100)
        {
            bookings_dg.RowHeight = 20;
        }
        else
        {
            bookings_dg.RowHeight = 100;
        }

    }

它将更改所有行的大小,而不是特定行的大小。

然后我尝试了this,它不仅可以改变高度,还可以扩大其中的内容。 这是单击前后的我的数据网格。但是我只想更改所选行的高度。before img1 After img2

1 个答案:

答案 0 :(得分:0)

您不需要在代码后面进行此操作。并且除非您希望它看起来像放大镜,否则不要使用“缩放”。

如果只想在选择该行时增加行高,则只需向该行样式添加触发器,以便在选择时增加它们自己的高度。

<DataGrid Name="bookings_dg" IsReadOnly="True">
    <DataGrid.RowStyle>
        <Style TargetType="DataGridRow">
            <Setter Property="Height" Value="30"/>
            <Style.Triggers>   
                <Trigger Property="IsSelected" Value="True">
                    <Setter Property="Height" Value="50"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </DataGrid.RowStyle>
</DataGrid>