我有一个 ListView 控件绑定到ListCollectionView
ViewModel 中的一个。
我想尝试对这些项目进行分组,但遇到了一些问题。
我将 VM 中的属性分组设置为开头,然后添加了一个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
吗?
如果列表中的项目属于另一个类,我不想根据它们所属的类的实例进行分组(它有一个 ID)。然后,我会将组名作为该父类的属性。那可能吗?
部分解决方案:
问题出在 ListView 上应用的样式。我不知道这种风格是什么意思。
完整解决方案
我没有ItemsPresenter
在我的列表框中ControlTemplate
使用 a 选择使用IsItemsHost
设置为的面板true
。似乎必须使用 ItemsPresenter 才能使 GroupStyling 正常工作。