Skip to content

Commit f370ede

Browse files
Update SelectFromList.xaml
On large lists (2200 items) 7seconds to 2seconds 3.5 faster / 71% faster As described on forum https://discourse.pyrevitlabs.io/t/faster-selectfromlist/8582
1 parent 6d7db7a commit f370ede

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

pyrevitlib/pyrevit/forms/SelectFromList.xaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
</DataTemplate>
5454

5555
<ItemsPanelTemplate x:Key="ItemsPanelTemplate">
56-
<StackPanel />
56+
<VirtualizingStackPanel />
5757
</ItemsPanelTemplate>
5858
</Window.Resources>
5959
<DockPanel Margin="10">
@@ -130,7 +130,10 @@
130130
HorizontalContentAlignment="Stretch"
131131
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
132132
ItemTemplate="{DynamicResource ItemContainerTemplate}"
133-
ItemsPanel="{DynamicResource ItemsPanelTemplate}" />
133+
ItemsPanel="{DynamicResource ItemsPanelTemplate}"
134+
VirtualizingStackPanel.IsVirtualizing="True"
135+
VirtualizingStackPanel.VirtualizationMode="Recycling"
136+
ScrollViewer.CanContentScroll="True"/>
134137
<GridSplitter x:Name="infoSplitter" Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" ResizeDirection="Columns" Visibility="Collapsed" />
135138
<ScrollViewer x:Name="infoPanel" Grid.Column="2" Visibility="Collapsed">
136139
<TextBlock x:Name="infoData" Margin="10,0,0,0" TextWrapping="Wrap" />

0 commit comments

Comments
 (0)