У меня есть ViewModel, который используется в Windows 8, Android и iOS в рамках проекта Xamarin. Теперь мне нужно отобразить эту виртуальную машину в ListView в WPF.WPF - Использование CollectionViewSource с УЖЕ сгруппированными данными
Эта VM предоставляет некоторые уже сгруппированные данные как ObservableCollection<GroupedResult<string, SearchResult>>
. GroupResult имеет свойство Key
(String) и IEnumerable Source
свойство
С в Windows 8 ListView я могу назначить эти данные к CollectionViewSource (CVS), скажите CVS путь к свойству Items PropertyPath("Source")
и она отлично работает.
Однако WPF, похоже, хочет, чтобы негруппированный список загружался в его CVS, чтобы он мог группировать все это сам. Как сообщить CVS WPF, что VM содержит уже сгруппированные данные?
Я счастлив предположить, что источник сгруппирован и задает шаблоны. Я буду отображаться в ListView, а не в ListBox, если бы мне хотелось, чтобы разделы всегда были расширены, если не пустые, вы можете предложить контейнер, отличный от Expander? –
Что случилось с Expander? Вы можете установить для IsExpanded значение true, чтобы оно было расширено по умолчанию. И если вы не хотите расширять/сворачивать группы, вы можете просто удалить расширитель и использовать ListBox или ItemsControl в качестве корневой панели DataTemplate. – mm8
Я пытаюсь имитировать GroupStyle HidesIfEmpty = «True», который я успешно использовал в Win8. Как вы предположили, я заменю расширитель каким-нибудь другим. Спасибо –