Я установил DataGrid
, где все столбцы, кроме одного, имеют размер по его содержимому. Поэтому я установил эти столбцы на auto
, а другой на *
. Но DataGrid игнорирует его, а содержимое в столбце с заголовком Množ
не полностью видно.Ширины столбцов DataGrid
<DataGrid Name="dataGrid" Margin="1" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch" MouseDoubleClick="dataGrid_MouseDoubleClick"
ItemsSource="{Binding RadkyDokladu.radky}" CanUserSortColumns="False" PreviewKeyDown="dataGrid_PreviewKeyDown"
AutoGenerateColumns="False" IsReadOnly="True" FontSize="12" SelectionMode="Single" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontSize" Value="12"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="" Binding="{Binding ZASKRTNUTO}" Width="auto" />
<DataGridTextColumn Header="Náz" Binding="{Binding Artikl_NAME}" MinWidth="10" Width="*"/>
<DataGridTextColumn Header="Místo" Binding="{Binding Umisteni_NAME}" Width="auto"/>
<DataGridTextColumn Header="Množ" Binding="{Binding Mnozstvi, StringFormat=F2}" Width="auto">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Right" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="MJ" Binding="{Binding Jednotka}" Width="auto"/>
</DataGrid.Columns>
</DataGrid>
Что-то случилось с моим кодом?
Это * может * иметь какое-то отношение к заявлению формата. Возможно, ширина текста определяется * до * форматирования. – ChrisF
Спасибо за комментарий, ff это будет причина, здесь какой-то способ, как обойти? – Sk1X1
Я не знаю точно, что в этом причина. Попробуйте удалить форматирование и включить значение с десятичной точкой (например, 2.45) и посмотреть, будет ли она в этом случае иметь правильную ширину. – ChrisF