使用比例列大小时,WPF DataGrid会闪烁

时间:2011-09-14 15:50:22

标签: wpf datagrid flicker

我有一个自定义的数据网格控件,可根据不同情况动态创建列。

最初我使用的是固定列尺寸。

                DataGridTextColumn column = new DataGridTextColumn();
                column.Width = new DataGridLength(entity.DisplaySize);

这是一个foreach循环。但是,我们决定我们需要确保我们永远不会进行水平滚动,因此我将其更改为以下内容,以便列始终适合数据网格,并且它们的大小保持相互成比例。

                DataGridTextColumn column = new DataGridTextColumn();
                column.Width = new DataGridLength(entity.DisplaySize, DataGridLengthUnitType.Star);

但是,现在当数据网格绘制或重绘时,会出现闪烁现象。看起来它最初是创建数据网格,所有列的最小大小为20,然后创建所有列后,它会扩展它们以填充区域。以前提供精确列宽的方法不存在此行为。

我使用各种虚拟化设置无济于事。

有人有任何想法吗?

0 个答案:

没有答案