Сколько строк отображает сетка?И сколько из этих строк видно на экране?
Я спрашиваю, потому что возможно, что у вас есть макет пользовательского интерфейса, который побеждает виртуализацию.Обычно элементы управления, которые показывают прокручиваемый список данных, выполняют виртуализацию.(Встроенный ListBox
делает это, и любая сторонняя сетка приемлемого качества должна делать то же самое.) Это критично для производительности, потому что это означает, что ваш пользовательский интерфейс должен создавать только те элементы, которые действительно видимы, а не всев вашем списке.
Но относительно легко победить эту виртуализацию случайно.Один из способов - обернуть список или элемент управления сеткой в ScrollViewer
.Вам нужно виртуализировать элементы управления, чтобы иметь возможность управлять собственной прокруткой, чтобы виртуализация работала, поэтому прокрутка должна происходить изнутри.Оборачивание элемента управления в ScrollViewer
не позволяет ему выполнять собственную прокрутку.Другой способ может пойти не так, если вы подключите другой ItemsPanel
.Третья возможность заключается в том, что вашему элементу управления списком / сеткой нужно указать виртуализацию.
Но если вы используете элемент управления, который просто отнимает много времени, чтобы отобразить только то, что нужно показать на экранетогда вы ничего не можете сделать - вам нужно связаться с поставщиком контроля или рассмотреть вопрос об использовании другого поставщика ...