Как работают GroupStyles?

У меня есть элемент управления 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.

7
задан Naser Asadi 14 January 2013 в 11:19
поделиться