我正在显示一个表(带有ListView)。大约有30行和100列。 这些行已虚拟化。大多数列只包含一个TextBlock。
模型生成数据(在后台线程中)后,UI冻结约5秒钟。 在这段时间内,大部分的CPU时间都用于测量TextBlocks(在UI冻结期间使用dotTrace进行测量)。
在渲染这些控件期间,有什么方法可以改善此效果和/或保持UI响应吗?
查看:
<ListView ItemsSource="{Binding CollectionView}"
VirtualizingStackPanel.VirtualizationMode="Recycling" .../>
ViewModel:
public class MyCollectionViewModel :ObservableCollection<MyRowViewModel>
{
public ListCollectionView CollectionView {get; private set;}
...
CollectionView = new ListCollectionView(this);
}