Kolumne: WPF und Windows-Apps

XAML-Tipp: WPF – Nur den sichtbaren Bereich rendern
Keine Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „WPF: Nur den sichtbaren Bereich rendern“.

WPF: Nur den sichtbaren Bereich rendern

Bei richtig großen Daten kann es bis zur Anzeige zu lange dauern. Eine elegante Lösung wäre das Aufteilen der Daten, um die Navigation mittels Paging zu ermöglichen. Falls die Designvorgaben diese Methodik nicht zulassen, hilft ein verzögertes Rendern durch das Aktivieren der „Virtualization“. So wird nur der aktuell sichtbare Bereich von Inhaltssteuerelementen gerendert.

Das Feature wird über das Attached Property VirtualizingStackPanel.IsVirtualizing aktiviert. Listing 1 zeigt dessen Einsatz bei einer ListBox.

<ListBox ItemsSource="{Binding Products}" Width="300"
         VirtualizingStackPanel.IsVirtualizing="True">
  <ListBox.ItemTemplate>
    <DataTemplate>
      <StackPanel Orientation="Horizontal">
        <Image Source="{Binding Image}" Height="100"/>
        <StackPanel Margin="10,0">
            <TextBlock Text="{Binding Name}" FontWeight="Bold" />
            <TextBlock Text="{Binding Description}"/>
            <TextBlock Text="{Binding Price}" FontStyle="Italic"/>
        </StackPanel>
      </StackPanel>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>

BASTA! 2021

Keynote: Auf dem Weg zu „One .NET“ – das eine Framework, sie alle zu beherrschen

mit Dr. Holger Schwichtenberg (www.IT-Visions.de/MAXIMAGO GmbH)

C#-Workshop – was kommt Neues in .NET 5?

mit Rainer Stropek (timecockpit.com)

IT Security Summit 2020

Zero Trust – why are we having this conversation?

mit Victoria Almazova (Microsoft)

Digitaler Ersthelfer

mit Martin Wundram (DigiTrace GmbH)

Aufmacherbild: Young man driving in imaginary fast car via Shutterstock / Urheberrecht: ra2studio

Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -