在进行开发时,遇到DataGrid初始只有列头,但是不进行加载数据时,列头显示不全问题
代码如下:
<DataGrid Name="lstJobs" ItemsSource="{Binding JobsList}" FontSize="14" ColumnHeaderHeight="28" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto">
<DataGrid.Columns>
<DataGridTextColumn HeaderStyle="{StaticResource HeaderDataGridSort}" Header="{cultr:Localize Date}" Width="*" MinWidth="110" Binding="{Binding Date,Mode=TwoWay}" ElementStyle="{StaticResource DotdotdotTextMarginLef18}"/>
<DataGridTextColumn HeaderStyle="{StaticResource HeaderDataGridSort}" Header="{cultr:Localize Dest Port}" Width="Auto" MinWidth="130" Binding="{Binding OutPutPort,Mode=TwoWay}" ElementStyle="{StaticResource DotdotdotTextMarginLef18}"/>
</DataGrid.Columns>
</DataGrid>
在该代码中在Datagrid内部添加ScrollViewer.HorizontalScrollBarVisibility=“Auto” ScrollViewer.VerticalScrollBarVisibility="Auto"属性,只有在有数据时候才会出现滚动条,初始无数据时,列会显示不全,把滚动标签,放到外面就可以了,这样初始和有数据时候都会出现滚动条,有时候滚动条的作用范围需要看对应的标签作用位置,在Datagrid内部添加是针对Datagrid内部属性,对其本身列头 并不生效
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<DataGrid Name="lstJobs" ItemsSource="{Binding JobsList}" FontSize="14" ColumnHeaderHeight="28" >
<DataGrid.Columns>
<DataGridTextColumn HeaderStyle="{StaticResource HeaderDataGridSort}" Header="{cultr:Localize Date}" Width="*" MinWidth="110" Binding="{Binding Date,Mode=TwoWay}" ElementStyle="{StaticResource DotdotdotTextMarginLef18}"/>
<DataGridTextColumn HeaderStyle="{StaticResource HeaderDataGridSort}" Header="{cultr:Localize Dest Port}" Width="Auto" MinWidth="130" Binding="{Binding OutPutPort,Mode=TwoWay}" ElementStyle="{StaticResource DotdotdotTextMarginLef18}"/>
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
如果帮到了你,请关注一波,谢谢