WPF에서 CollectionViewSource의 필터링, 그룹화 및 정렬에 대한 논의가 많으며 "MVVM"이 아니라 (특히 코드 숨김으로 필터를 추가 할 때) 무엇이 "실용적인 MVVM"이 아닙니다.XAML에서 정의한 CollectionViewSource를 ViewModel에 바인딩합니다.
비동기 ObservableCollection과 함께 SynchronizationContext
을 사용하려면 View (Dispatcher 스레드에서)에서 인스턴스화 한 인스턴스가 아닌 인스턴스화 된 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에 가리켜 야합니다.
이 방법이 있습니까?