CollectionViewSourceのフィルタリング、グループ化、並べ替えについては、WPFで多くの議論があります。特に、コードビハインドでフィルタを追加する場合は、「MVVM」とは異なります。XAMLで定義されたCollectionViewSourceをViewModelにバインドする
非同期ObservableCollectionでSynchronizationContext
を使用するには、View(ディスパッチャスレッド上)でインスタンス化され、インスタンス化されていないCollectionViewSourceが必要ですそのモデルでは、XAMLで定義するのではなく、コードからフィルター、グループ、およびソートの記述子を追加するために、モデルにCollectionViewSourceへのアクセスが必要です。 この目的のために、XAMLで宣言されたCollectionViewSourceオブジェクトをViewModelにバインドする方法を見つけたいと思います。このような何か:もちろん
<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>
、CollectionViewSourceは、「バインディング」プロパティを持っていない、とソースがのObservableCollectionを指している必要があります。
これを行う方法はありますか?