按对象类型划分的WPF列表框组

按对象类型划分的WPF列表框组,wpf,object,types,listbox,grouping,Wpf,Object,Types,Listbox,Grouping,我有一个列表框,它绑定到ViewModel上的ObservableCollection属性。ObservableCollection中填充了不同类型的对象 然后,根据ListboxItems的类型,我使用不同的DataTemplates绘制不同的ListboxItems 我想添加一些分组,这样我就可以根据对象的类型在列表框中为每组对象添加一个标题。我很乐意使用CollectionViewSource来处理这些事情,但不确定如何根据对象的类型进行分组 有人有什么想法吗?尽管您不能使用Propert

我有一个列表框,它绑定到ViewModel上的ObservableCollection属性。ObservableCollection中填充了不同类型的对象

然后,根据ListboxItems的类型,我使用不同的DataTemplates绘制不同的ListboxItems

我想添加一些分组,这样我就可以根据对象的类型在列表框中为每组对象添加一个标题。我很乐意使用CollectionViewSource来处理这些事情,但不确定如何根据对象的类型进行分组


有人有什么想法吗?

尽管您不能使用
PropertyGroupDescriptor
,因为类型没有属性,但您仍然可以创建一个执行此任务的组描述符。实现抽象类,并使用
GetType()
对其进行分组:


这是一种魅力——干杯。我只需要重写这个方法。
public class TypeGroupDescription : GroupDescription
{
    public override object GroupNameFromItem(object item, int level, CultureInfo culture)
    {
        if (item == null)
            return "";
        return item.GetType().Name;
    }
}