Я отображаю таблицу (с ListView).Есть около 30 строк и 100 столбцов.Строки виртуализированы.Большинство столбцов содержат только TextBlock.
После того, как модель сгенерировала данные (в фоновом потоке), пользовательский интерфейс зависает примерно на 5 секунд.В течение этого времени большая часть процессорного времени тратится на измерение TextBlocks (измеряется с помощью dotTrace во время зависания пользовательского интерфейса).
Можно ли как-то улучшить это и / или сохранить ответ пользовательского интерфейса во время рендеринга этихэлементы управления?
Просмотр:
<ListView ItemsSource="{Binding CollectionView}"
VirtualizingStackPanel.VirtualizationMode="Recycling" .../>
ViewModel:
public class MyCollectionViewModel :ObservableCollection<MyRowViewModel>
{
public ListCollectionView CollectionView {get; private set;}
...
CollectionView = new ListCollectionView(this);
}