我设置了DataGrid
,其中除了一个列之外的所有列都有其内容的大小。因此,我将这些列设置为auto
,将另一列设置为*
。但DataGrid会忽略它,并且标题为Množ
的列中的内容不完全可见。
<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>
我的代码有问题吗?
答案 0 :(得分:0)
这是由DataGrid
的大小引起的。通过设置:
<DataGrid Margin="1" HorizontalAlignment="Stretch" ...
您的DataGrid
尺寸属于TreeViews
父级(窗口)的宽度。您可以尝试激活HorizontalScrollBarVisibility="Visible"
以展开DataGrids
内容并在DataGrid
内滚动。
第二种方法是放弃Margin
,DataGrid
可以根据内容进行扩展。