再会!有一定的DataGrid:
<ScrollViewer Margin="10,29,10,0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<DataGrid x:Name="dgCatalog" AutoGenerateColumns="True" IsReadOnly="False" Background="{x:Null}" CanUserAddRows="False" CanUserDeleteRows="True" ItemsSource="{Binding MainExcelWorker.MainTable, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</ScrollViewer>
大约有DataTable
4000 条线,为了不一次画出所有的东西,我将它们分成自动生成的板块,每个板块有 60 条线。在这些板块(页)中,用户用箭头导航或立即输入想要的表(页)的编号,计算机在这些板块(页)的线条上画得很慢,大约需要2-3+秒。
问题是,如何加快行的渲染速度?
PS我不知道是否需要此类信息,但有〜14列。
渲染缓慢的原因是它
DataGrid
被放置在 中ScrollViewer
,因此,所有 60 条线都被绘制,而如果ScrollViewer
不是,则只会绘制那些“适合”容器中的线。