Xamarin Project의 일부로 Windows 8, Android 및 iOS에 사용되는 ViewModel이 있습니다. 이제 WPF의 ListView에 해당 VM을 표시해야합니다.WPF - 그룹화 된 데이터가 이미있는 CollectionViewSource 사용
그 VM은 이미 그룹화 된 데이터를 ObservableCollection<GroupedResult<string, SearchResult>>
으로 노출합니다. GroupResult는 Key
(문자열) 속성과 윈도우 8의 ListView과는 IEnumerable Source
특성
나는 CollectionViewSource (CVS)에 데이터를 할당 할 수 있으며, CVS에게 항목 속성 PropertyPath("Source")
의 경로를 말씀을 가지고 있으며, 그것을 잘 작동합니다.
그러나 WPF는 CVS에 그룹화되지 않은 목록을 제공하여 모든 그룹을 그룹화 할 수 있습니다. VM에 이미 그룹화 된 데이터가 포함되어 있음을 WPF CVS에 알려면 어떻게합니까?
원본이 그룹화되어 있고 템플릿을 그룹화 한 것으로 가정합니다. ListBox가 아닌 ListView에 표시 할 것입니다. 섹션이 항상 확장되도록하려면 비어 있지 않은 경우 Expander가 아닌 컨테이너를 제안 할 수 있습니까? –
확장기의 문제점은 무엇입니까? IsExpanded를 true로 설정하면 기본적으로 확장됩니다. 그룹을 확장/축소 할 수 없도록하려면 확장기를 제거하고 ListBox 또는 ItemsControl을 DataTemplate의 루트 패널로 사용하면됩니다. – mm8
GroupStyle을 모방하려고합니다. HidesIfEmpty = "True"저는 Win8에서 그렇게 성공적으로 사용했습니다. 당신이 제안한대로 확장기를 다른 곳으로 바꿀 것입니다. 고마워요 –