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

SQLite: Wenn weniger mehr ist - SQLite für .NET-Entwickler, Teil 1
Für Entwicklerteams, die jeden Tag mit der Komplexität von Kubernetes, Cloud-Datenbanken und Terraform-Skripten ringen, liegt der eigentliche Gewinn von SQLite in der architektonischen Vereinfachung.
6 Minuten
00:00
MCP: Der USB-C-Stecker für Deine KI-App - Model Context Protocol auf der DWX
Jonah Andersson bringt es auf den Punkt: Das Model Context Protocol ist kein Hype-Buzzword, sondern eine echte Hilfe für .NET-Entwickler:innen. Wer MCP richtig einsetzt, spart sich aufwändige Integrationsarbeit – und behält trotzdem die Kontrolle über die eigene Business-Logik.
7. Apr 2026
Infinite AI Conference: So setzt Du KI in jedem Schritt des Software-Lifecycle ein - KI gehört in Deinen Workflow
Von den Anforderungen über Design, Implementierung bis zum Testen, Deployment und Monitoring: Auf der Infinite AI Conference 2026 erfährst Du, wie Dich die KI im gesamten Lifecycle unterstützen kann.
4 Minuten

Das könnte Dich auch interessieren

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
SignalRC baut auf DRY - Der DDC-Truck, Teil 8
DRY ist eines dieser Prinzipien, die jeder für selbstverständlich hält, die aber trotzdem oft nicht konsequent umgesetzt werden. In SignalRC ist das Shared-Projekt von Beginn an dabei.
11 Minuten
12. Mär 2026
Middleware, Datenbank und Testing im Alltag - Nest.js für .NET-Entwickler, Teil 4
Nest.js in der Praxis: Die Bausteine, die eine Nest.js-Anwendung produktionsreif machen.
6 Minuten
11. Mär 2026
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige