【发布时间】:2019-03-02 01:12:40
【问题描述】:
我有一个 WPF DataGrid,每行有很多文本单元格。目前 DataGrid 将绘制一个水平滚动条并让我水平滚动以查看所有内容。
我只是想以适合当前窗口或屏幕的方式自动调整列的大小。我不在乎文本是否换行,这完全没问题——事实上我已经设置了文本换行,如果我手动缩小列效果很好。即使我只是让每一列的大小相同,只要它们都适合屏幕而不需要水平滚动条,那也没关系。
我已经搜索了一段时间,发现了无数种调整内容大小的方法,这些方法不适用于我要解决的问题。顺便说一句,如果需要,我可以使用代码隐藏。
【问题讨论】:
-
所以您尝试将每个列的宽度设置为星号? (宽度="*")
-
或
... 或者你想要的大小 -
@chancea 我想尝试一下,但我必须为我的解决方案使用代码隐藏,并且不确定如何在代码中执行此操作,因为没有明确的选项。有DataGridLength.Auto,但Auto的意思与*不同。
-
@Jerry 这在理论上对于固定宽度可以正常工作,但我希望它可以拉伸以适应屏幕或窗口。
-
哦,后面的代码你可以做
Width = new DataGridLength(1, DataGridLengthUnitType.Star);或再次像杰里指出的那样——不管你想要每列有多宽,所以你可以说Width = new DataGridLength(50, DataGridLengthUnitType.Pixel);
标签: c# wpf xaml datagrid wpfdatagrid