【问题标题】:How to fit WPF DataGrid column widths to fit the entire row on screen?如何使 WPF DataGrid 列宽适合屏幕上的整行?
【发布时间】: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


【解决方案1】:

解决方案,因为我的项目需要使用代码隐藏,所以将每列的宽度设置为new DataGridLength(1, DataGridLengthUnitType.Star);,稍后我可以根据单个单元格的内容进行调整。

谢谢你,@chancea。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 2012-02-26
    • 2011-03-25
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    相关资源
    最近更新 更多