So erstellen Sie eine CollectionView für ObservableCollectionT in Silverlight

8

Ich arbeite mit silverlight und möchte eine ObservableCollection filerieren.

Also habe ich begonnen, ICollectionView zu betrachten, weil es in Silverlight keine CollectionViewSource gibt und sie eine Menge Methoden und Ereignisse enthält. Ich habe eine Weile gesucht und ich frage mich, ob jemand Beispielcode einer Implementierung von ICollectionView hat?

    
Emil C 22.03.2009, 23:44
quelle

3 Antworten

1

Leider wird ICollectionView nur für das DataGrid in Silverlight 2.0 verwendet, und die einzige Implementierung ist ListCollectionView, die in System.Windows.Controls.Data enthalten ist.

Wenn Sie keine Bindung an ein DataGrid haben, wird ICollectionView Ihnen nicht viel geben, da es von den grundlegenden Steuerelementen (wie Listbox) nicht verwendet wird, da es in der Data Controls Assembly definiert ist und nicht im Kern.

Das ist ein ziemlich großer Unterschied zu WPF.

Aber auf den Punkt Ihrer Frage hat die Assembly, die das DataGrid enthält, eine Implementierung, die Ihnen helfen kann, wenn Sie erfahren wollen, wie es gemacht wird. Worst Case, Reflektor ist dein Freund ...

    
Denis Troller 23.03.2009, 02:48
quelle
6

CollectionViewSource ist jetzt in Silverlight 3 verfügbar. Schauen Sie sich einen guten Artikel dazu hier .

    
Andy May 19.07.2009 20:54
quelle
1

Eine Methode wäre die Verwendung eines Wertkonverters, wenn Sie Daten an die ObservableCollection binden möchten.

Eine andere Methode wäre, LINQ in einem CLR-Objekt ViewModel zu verwenden, das die Filterung auf der Grundlage von Eigenschaften im ViewModel so durchführt (siehe die Implementierungsmethode UpdateFilteredStores () unten):

%Vor%     
Michael S. Scherotter 23.03.2009 05:56
quelle

Tags und Links