首页 > 解决方案 > 我想更改 DataGrid 选定的行高而 DataGrid 中的数据保持不变

问题描述

在选择时,我想更改 DataGrid 选定的行高。我用了两种方法。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;
        }

    }

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

然后我尝试了这个它改变了高度但也扩大了其中的内容。这是我点击前后的数据网格。但我想只更改选定行的高度。在 img1 之前在 img2 之后

标签: c#datagridwpf-controlswpfdatagridwpftoolkit

解决方案


您不需要使用后面的代码来执行此操作。除非您希望它看起来像放大镜,否则不要使用 Scale。

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

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

推荐阅读