Я хочу изменить выбранную высоту строки в DataGrid, пока данные в DataGrid остаются без изменений
При выборе я хочу изменить DataGrid Выбранная высота строки. Я использовал два метода. 1) Я добавил расширитель в DataGrid
<DataGrid x:Name="bookings_dg" Expander.Expanded="Expander_Expanded" IsReadOnly="True">
<DataGrid.RowHeight>30</DataGrid.RowHeight>
Вот мой Expander Event
private void Expander_Expanded(object sender, RoutedEventArgs e)
{
if (bookings_dg.RowHeight == 100)
{
bookings_dg.RowHeight = 20;
}
else
{
bookings_dg.RowHeight = 100;
}
}
это изменяет размер всех строк вместо определенного.
Затем я попробовал это. Он изменяет высоту, но также увеличивает содержание в нем. Вот моя таблица данных до и после нажатия. Но я хочу изменить высоту только выбранной строки. до img1 после img2
1 ответ
Вам не нужно делать это с кодом позади. И не используйте 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>