Es gibt eine Menge Diskussion über das Filtern, Gruppieren und Sortieren auf CollectionViewSource in WPF, und was ist ein "MVVM" -Praktisches (insbesondere beim Hinzufügen von Filtern in Code-Behind).Bindung von XAML-definierter CollectionViewSource an ViewModel
Ich mag Ansichtsmodell Kontrolle über diese Eigenschaften (wie Sortier- und Filter Deskriptoren Zugabe), aber um SynchronizationContext
mit einem asynchronen ObservableCollection zu verwenden, muß ich die Collection im View instanziiert (auf dem Dispatcher-Thread), nicht instanziiert im Modell - aber das Modell benötigt Zugriff auf die CollectionViewSource, um Filter-, Gruppen- und Sortierdeskriptoren aus dem Code hinzuzufügen, anstatt sie in XAML zu definieren. Zu diesem Zweck möchte ich einen Weg finden, das XAML-deklarierte CollectionViewSource-Objekt BACK an das ViewModel zu binden. Etwas wie folgt aus:
<UserControl.Resources>
<CollectionViewSource
IsLiveFilteringRequested="True"
x:Name="collectionViewSource"
x:Key="collectionViewSource"
Source="{Binding DataContext.myCollection, IsAsync=True}"
Binding="{Binding DataContext.myCollectionViewSourceProperty, Mode=OneTime}" />
</UserControl.Resources>
Natürlich ist die Collection keinen „Binding“ Eigenschaft und die Quelle zu einem ObservableCollection verweisen.
Gibt es eine Möglichkeit, dies zu erreichen?