我们有一个自定义的DataGrid控件,它根据XML结构动态生成列。在创建每个列时,我们使用星号单位类型,因为我们希望确保DataGrid中永远没有水平滚动条。
DataGridTextColumn column = new DataGridTextColumn();
column.Width = new DataGridLength(entity.DisplaySize, DataGridLengthUnitType.Star);
但是,我们注意到当DataGrid被渲染时,它会以列所给定的最小尺寸进行渲染,然后一旦DataGrid完全渲染完成,它才会调整列的大小以适应DataGrid。这会导致闪烁效果。
有没有可能的解决方案?也许可以在后台渲染DataGrid,然后在列完成调整后再显示它?或者其他任何想法?