Wie legen Sie einen filter für ein DataGrid-ItemSource über MVVM

Ich habe eine DataGrid gebunden CollectionViewSource in XAML.

<Window.Resources>
  <local:MainWindowViewModel x:Key="ViewModel"/>
  <CollectionViewSource x:Key="cvsEntries" 
                        Source="{Binding LogEntriesStore, 
                                 Source={StaticResource ViewModel}}"/>
</Window.Resources>

LogEntriesStore ist ein ObservableCollection (LogEntry wird ein DTO-das ist nicht wichtig in dieser Diskussion)

Den DataGrid ist deklariert als:

<DataGrid AutoGenerateColumns="False" 
          Margin="0" 
          Name="dataGrid1" 
          ItemsSource="{Binding Source={StaticResource cvsEntries}}" 
          IsReadOnly="True">

Nun habe ich Kontext-Menüs auf verschiedene Zellen in diesem DataGrid, um kick-off ein Antrag für die Filterung. Der rechten Maustaste auf eine Zelle, und wählen Sie filter, filter alle Zeilen, und zeigen Sie nur diese bestimmten Wert.

Dem MVVM bekommt die Anfrage zu filtern, aber jetzt das knifflige bit. Wie setze ich den filter auf die CollectionViewSource?

(nebenbei-das hätte ein Spaziergang im park mit einem Silverlight - PagedCollectionView aber das scheint nicht verfügbar zu sein in WPF, ist das richtig?)

Schreibe einen Kommentar