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?
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 ...
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%Tags und Links c# silverlight