У меня есть элемент управления ListView, привязанный к ListCollectionView
в ViewModel.
Я хотел попытаться сгруппировать эти элементы, но возникли некоторые проблемы.
Я установил группировку свойств в виртуальной машине для начала, а затем добавил GroupStyle
.
C #:
ListCollectionView.GroupDescriptions.Add(new PropertyGroupDescription("Category"));
XAML:
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name}"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
Однако список теперь просто названия категорий, невозможно увидеть сами предметы.
Я не совсем понимаю, что здесь происходит. Когда я создаю шаблон для GroupStyle
, к чему я на самом деле привязываюсь? Существуют ли другие свойства помимо Name
?
Я только что добавил GroupStyle
в ListView, который я уже создал, где я, например, включил ItemTemplate
. Это что-то не так с GroupStyle
?
Что, если элементы в списке принадлежат другому классу, и я не хочу группировать на основе того, к какому экземпляру класса они принадлежат (у него есть Я БЫ). Тогда у меня будет имя группы как свойство в этом родительском классе. Возможно ли это?
ЧАСТИЧНОЕ РЕШЕНИЕ:
Проблема заключалась в стиле, примененном к ListView. Понятия не имею, что насчет стиля мешал.
ПОЛНОЕ РЕШЕНИЕ
Я не был ' t с помощью ItemsPresenter
в моем списке ControlTemplate
, выбрав использование Panel с IsItemsHost
, установленным на true
. Похоже, что для правильной работы GroupStyling необходимо использовать ItemsPresenter.