Problema de largura do DataGrid RowDetails
Suponha que eu tenha um DataGrid definido assim
<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>
E fica assim com e sem RowDetails
Na foto à direita, recebo um DataGridRow muito longo que nunca envolve.
É possível obter os RowDetails para usar a mesma largura que o DataGrid e não afetar a própria largura?
Coisas que tentei que alcançam a embalagem, mas não de uma maneira satisfatória
Defina Largura ou MaxWidth na borda ou no TextBlock. Não é muito dinâmico.Defina ScrollViewer.HorizontalScrollBarVisibility = "Desativado" no DataGrid. Não é muito bom quando as colunas não se encaixam.