Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 2 Min.

WPF/C#/VB: Sortierte Listboxen

Wer von Windows Forms kommt und nun Oberflächen mit der Windows Presentation Foundation schreiben muss, kennt den Ärger: An gefühlt 1000 Stellen scheint die WPF komplizierter, zum Beispiel beim Sortieren des Inhalts von Listboxen.
Insbesondere wenn die List- oder ComboBox ohnehin nur Strings anzeigen soll, ist ein ListBox.Sort schnell eingetippt. Das klappt bei Windows Forms problemlos. Bei WPF-ListBoxen erhält man lediglich eine rote Unterringelung -- der Sort-Befehl ist nicht vorhanden. Man kann's kaum glauben und startet die Suche, oder schreibt sich einen Umweg über ein Array, dessen Sort-Befehl nicht von der WPF beeinflusst wird. Wenn man Glück hat, landet man gleich bei der folgenden Lösung, die gleichermaßen für ListBoxen als auch für ComboBoxen (genauer für alle Objekte mit einer ItemCollection) funktioniert:
Sub blStringItemsSort(ByRef ItemsColl As ItemCollection, 
  Optional Descendng As Boolean = False)

  ' Taugt für ListBox und ComboBox gleichermaßen
  If Not Descendng Then
    ItemsColl.SortDescriptions.Add(New SortDescription("",
      ListSortDirection.Ascending))
  Else
    ItemsColl.SortDescriptions.Add(New SortDescription("", 
      ListSortDirection.Descending)) 
  End If
End Sub 
Der Methode wird die ItemCollection der List- oder ComboBox ByRef übergeben. Das bedeutet, dass das Objekt nicht kopiert, sondern direkt bearbeitet wird. Falls man die Items rückwärts sortieren möchte, muss der Methode noch ein True mitgegeben werden, die Standardsortierung steuert der optionale Parameter automatisch. Im Ergebnis Liste in der gewünschten Richtung alphabetisch sortiert. Der Aufruf klappt so:
' cbFilter ist eine WPF-ComboBox
cbFilter.Items.Add("c")
cbFilter.Items.Add("a")
cbFilter.Items.Add("b")
blStringItemsSort(cbFilter.Items) 
In Microsofts Dokumentation finden Sie das Thema auf dieser und auf dieser Seite. Auf letzterer ist auch ein C#-Beispiel zu finden.
Miscellaneous

Neueste Beiträge

Security ist essenziell - Secure Boot: Sicherheit von Anfang an
Die beste Verschlüsselung wird ausgehebelt, wenn das Betriebssystem schon beim Bootvorgang kompromittiert wird.
8 Minuten
25. Mai 2026
Interaktive Planung und integrierte AI-Code-Reviews mit Cursor - Die KI-IDE Cursor in der Praxis, Teil 1
Cursor kombiniert den Plan-Modus mit integrierten AI-Code-Reviews und verbindet so Planung mit Umsetzung und Qualitätssicherung in einem interaktiven Entwicklungsworkflow.
8 Minuten
3. Jun 2026
Ein Mantra für sauberes Softwaredesign
Drei einfache, aber fundamentale Regeln bilden den Einstieg in die Composite-Components-Architektur.
5 Minuten
27. Mai 2026

Das könnte Dich auch interessieren

00:00
C# 14, Blazor und die Desktop-Frage - Was sind die Killer Features der aktuellen Versionen?
C# 14 bringt echte Verbesserungen für den Entwickleralltag – aber nicht jedes neue Feature ist ein Game Changer. Microsoft MVP Thomas-Claudius Huber sortiert, was in der Praxis zählt, erklärt, wann Blazor React schlägt, und warum WPF noch lange nicht zum alten Eisen gehört.
19. Mai 2026
Vom Python-Modell zur .NET-Anwendung - .NET, Python und KI, Teil 4
Am Szenario einer Sentiment-Analyse verdeutlicht ein durchgängiges Anwendungsbeispiel, wie aus einem isolierten Data-Science-Ergebnis eine konkret genutzte Funktion innerhalb einer .NET-Business-Anwendung entsteht.
7 Minuten
Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige