Предположим, что у меня есть DataGrid, который определен как
<DataGrid AreRowDetailsFrozen="True"
ItemsSource="{Binding MyCollection}"
AutoGenerateColumns="False">
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<Border CornerRadius="5" BorderBrush="Red"
BorderThickness="2" Background="Black">
<TextBlock Foreground="White" Text="{Binding RowDetails}"
TextWrapping="Wrap"/>
</Border>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.Columns>
<DataGridTextColumn Header="0" Binding="{Binding Value1}"/>
<DataGridTextColumn Header="1" Binding="{Binding Value2}"/>
<DataGridTextColumn Header="2" Binding="{Binding Value3}"/>
<DataGridTextColumn Header="3" Binding="{Binding Value4}"/>
</DataGrid.Columns>
</DataGrid>
И выглядит так с RowDetails и без него
На картинке справа я получаю очень длинный DataGridRow, который никогда не обертывается.
Можно ли использовать RowDetails для использования той же ширины, что и DataGrid, а не для самой самой ширины?
Вещи, которые я пробовал, которые завершают упаковку, но не удовлетворительным образом
- Установите ширину или максимальную ширину на границе или в TextBlock. Не очень динамично.
- Установить ScrollViewer.HorizontalScrollBarVisibility = "Отключено" в DataGrid. Не очень хорошо, когда столбцы не подходят.