今天做项目中遇到个问题,就是页面加载后默认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在垂直和水平方向会无限放大,从而不会出现滚动条。
最终效果如下:
黄山市民网:https://www.huangshanshimin.com/