今天做项目中遇到个问题,就是页面加载后默认DataGrid是不加载数据的,但是DataGrid的列很多,就导致了运行效果上,此窗口的DataGrid没有水平滚动条,类似图片的效果。
经过百度和摸索,使用下面的方法,可以实现在没有数据的时候也可以显示水平滚动条。
Xaml中添加一句话
<DataGrid x:Name="DataGrid1" HorizontalAlignment="Stretch" Height="324" VerticalAlignment="Top" Width="772">
<ColumnDefinition Width="500"></ColumnDefinition><!--这里设置宽度,即可出现滚动条-->
<DataGrid.Columns>
<DataGridTextColumn Header="列名一" Width="180" ></DataGridTextColumn>
<DataGridTextColumn Header="列名二列名二列名二" Width="180" />
<DataGridTextColumn Header="列名三列名三列名三列名三" Width="180" />
<DataGridTextColumn Header="列名四列名四" Width="180" />
<DataGridTextColumn Header="列名五列名五列名五列名五" Width="180" ></DataGridTextColumn>
<DataGridTextColumn Header="列名六列名六列名六" Width="180" ></DataGridTextColumn>
<DataGridTextColumn Header="列名七列名七列名七列名七" Width="180" />
<DataGridTextColumn Header="列名八列名八列名八列名八列名八" Width="110" />
</DataGrid.Columns>
</DataGrid>
另外就是DataGrid不要放在StackPanel中,StackPanel在垂直和水平方向会无限放大,从而不会出现滚动条。
最终效果如下: