Ich habe eine ListView
, die über XAML an eine ObservableCollection
gebunden ist. Früher habe ich das Sortieren im Code erledigt, aber es gibt viele Operationen, bei denen ich berücksichtigen muss, dass die Sortierung aktualisiert werden muss.Listenansicht sortieren, die an ObservableCollection in XAML gebunden ist
Also wollte ich es sauberer machen und die Sortierung direkt in XAML dynamischer machen.
Leider kann ich keine Tags/Attribute dafür finden. Alle Beispiele, die ich finde, sind für WPF-Anwendungen mit <CollectionViewSource.SortDescription>
, die in XAML, zumindest für jetzt, nicht unterstützt werden.
Ich fand eine AdvancedCollectionView
Kontrolle in der UWP Community Toolkit die ich dann verwendet habe. Dieses Steuerelement verwendet die vorhandene ObservableCollection und die ListView (Quelle) ist jetzt an diese AdvancedCollectionView gebunden.
Es scheint zu funktionieren - also, was ist das Problem. 1) Ich muss jetzt ein riesiges Nu-Get-Paket mit vielen Lizenzen verwenden (was ich hätte lesen sollen :-)) 2) Ich habe INotifyPropertyChanged für die Klasse implementiert, die an die ListView (das einzelne Element) gebunden ist ListView wird aktualisiert, wenn eine Eigenschaft, z Der Titel eines Artikels ändert sich. Früher arbeitete ich früher, bevor ich zu AdvancedCollectionView wechselte, aber jetzt wirft der Event Raiser eine NullReferenceExcpetion
.
So frage ich mich jetzt, ob es nicht wirklich eine Out-of-the-Box-Möglichkeit gibt, die einfache Aufgabe zu erledigen, einen ListView nach einer gebundenen Eigenschaft zu sortieren?
, konnte ich wissen, wie Sie das tun „Früher habe ich die Sortierung in Code tun hinter.“? Meinst du, du willst es nur in xaml ohne Code machen? Selbst die 'AdvancedCollectionView' ist der Sortiercode hinterher, neben dem ein Paket referenziert werden muss, kann es Ihren Anforderungen entsprechen? –
Da das Community Toolkit Open Source ist, können Sie einfach auf den Abschnitt verweisen, den Sie benötigen, um eine eigene Hilfsklasse zu erstellen. –
Ich meinte, dass ich die ObservableCollection "manuell" mit einer Sort() - Erweiterungsmethode sortiert habe. – Patric