У меня есть настроенный элемент управления сеткой данных, который динамически создает столбцы в зависимости от различных обстоятельств.
Первоначально я использовал фиксированные размеры столбцов как таковые.
DataGridTextColumn column = new DataGridTextColumn();
column.Width = new DataGridLength(entity.DisplaySize);
Это в цикле foreach. Однако мы решили, что нам нужно обеспечить, чтобы у нас никогда не было горизонтальной прокрутки, поэтому я изменил ее на следующее, чтобы столбцы всегда помещались внутри сетки данных и сохраняли свой размер пропорционально друг другу.
DataGridTextColumn column = new DataGridTextColumn();
column.Width = new DataGridLength(entity.DisplaySize, DataGridLengthUnitType.Star);
Однако теперь, когда сетка данных рисует или перерисовывается, появляется мерцание. Похоже, что изначально создается сетка данных со всеми столбцами с минимальным размером 20, а затем, когда все столбцы созданы, он расширяет их, чтобы заполнить область. Такое поведение отсутствовало в предыдущем методе предоставления точной ширины столбца.
Я играл с различными настройками виртуализации, но безрезультатно.
У кого-нибудь есть идеи, пожалуйста?