WPF中DataGrid在没有数据的时候也可以显示水平滚动条

今天做项目中遇到个问题,就是页面加载后默认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在垂直和水平方向会无限放大,从而不会出现滚动条。

最终效果如下:

 

 

posted @ 2019-09-03 17:25  踏平扶桑  阅读(...)  评论(...编辑  收藏