Tipp der Woche

WPF/C#/VB: Schneller Scrollen

Quelle: Microsoft.com
25.08.2022, 12:36 Uhr
Das Scrollen in gut gefüllten WPF-Listen kann ziemlich nervig sein. Doch ihr Tempo lässt sich ganz einfach beschleunigen.
Das Schlüsselwort zu mehr Tempo beim Scrollen in Listboxen ist VirtualizationMode.Recycling. Standardmäßig erstellt ein VirtualizingStackPanel einen Element-Container für jedes sichtbare Element und verwirft ihn, wenn er nicht mehr benötigt wird (zum Beispiel wenn das Element aus der Ansicht gescrollt wird). Enthält ein ItemsControl viele Elemente, kann der Prozess des Erstellens und Verwerfens von Elementcontainern die Leistung spürbar beeinflussen. Die Lösung: Wird VirtualizationMode auf Recycling gestellt, verwendet das VirtualizingStackPanel die Elementcontainer wieder, anstatt jedes Mal einen neuen zu erstellen.
Eingesetzt wird das Recycling so:
...
  <StackPanel>
    <ListBox x:Name="lb_LotsOfItems" Height="150"
       VirtualizingStackPanel.VirtualizationMode="Recycling" />
  </StackPanel>
...

' VB.NET
Class MainWindow
  Private Sub MainWindow_Loaded(...) Handles Me.Loaded
    Dim blLoi(9999) As String
    For i = 0 To 9999
      blLoi(i) = "Item-Nr. " & i.ToString()
    Next
    lb_LotsOfItems.ItemsSource = blLOI
...
In der Microsoft-Dokumentation finden Sie die Infos zum VirtualizingStackPanel auf dieser Seite. Dort ist auch das C#-Beispiel zu finden.

Autor(in)

Das könnte sie auch interessieren
Windows Presentation Foundation
Erweiterter RichText-Editor für WPF unter .NET 8 mit umfassender Toolbar
VickyQu115, CodeProject
WPF-Praxisbeispiel: Hell-Dunkel-Umschalter
Microsoft
WPF: Verbesserter Dateidialog in .NET 8
CodeProject, Kryukov
WPF: Verbessertes MenuItem-Template
Mehr News?
Besuchen Sie unsere Seite ...
https://www.dotnetpro.de
nach oben