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

Warum Deine KI-Rechnung mit der Architektur wächst - Interview
KI soll Kosten senken. In der Praxis erleben viele Unternehmen beim Skalieren eine böse Überraschung, erklärte Dimitri Blatner von ITech Progress auf der Open Stage der DWX 2026. Developer World wollte von ihm wissen, wo Sprachmodelle Geld verbrennen und wie Du mit bewusster Architektur gegensteuerst.
30. Sep 2026
Tests gezielt verteilen - Schnellere .NET-CI-Pipelines mit Test Sharding, Teil 1
Lange Testsuiten verzögern das Feedback im Pull Request. Meziantou.ShardedTest verteilt die Testfälle auf mehrere CI-Jobs und verspricht dadurch mehr Geschwindigkeit. Dieser Einstieg zeigt, wie die Aufteilung funktioniert und welche Voraussetzungen nötig sind.
6 Minuten
KI ersetzt keine Softskills – sie deckt nur gnadenlos auf, wer keine hat - Interview
Auf der Open Stage der DWX 2026 vertrat Recruiting-Expertin Laura Rheinwald von ITech Progress in ihrem Vortrag die Meinung, dass die KI die Kommunikation zwischen Menschen verändert. Developer World wollte von ihr wissen, in welcher Weise.
23. Sep 2026

Das könnte Dich auch interessieren

Frühjahrsputz für .NET - Alte .NET-Versionen entfernen
Immer mehr .NET-Versionen sammeln sich auf der Festplatte an. Höchste Zeit, wieder Platz zu schaffen.
14 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
UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige