DataGrid.Measure() 操作列宽



WPF DataGrid的Measure()函数出现问题。如果我将DataGrid列上的DataGridLength设置为 DataGridLengthUnitType.Star ,则每次调用DataGridMeasure() 函数时,DataGrid 的所有列宽都设置为 30px 左右。有人知道为什么度量函数要这样做?毕竟为什么要操纵我的列?它不应该只测量我的数据网格的大小吗?

编辑:将CanContentScroll属性设置为false后,我的ScrollContentPresenter工作正常,但这极大地减慢了我的datagrid。一些建议?:)

edit2:我的列是通过DataGridColumnHeadersPresenter创建的

UIElement.Measure() 方法根据 availableSize 参数的值更新控件的 DesiredSize 属性。您设置的值可能小于您的预期。我会尝试设置一个大值,看看会发生什么。

最新更新