我有一个列表框,它绑定到ViewModel上的ObservableCollection属性。 ObservableCollection用不同类型的对象填充。
然后,我使用不同的DataTemplates根据其类型以不同方式绘制ListboxItem。
我想添加一些分组,以便我可以根据Type输入每个对象组的Listbox。我很乐意使用CollectionViewSource来处理这类事情,但我不确定如何根据对象的类型进行分组。
有人有任何想法吗?
答案 0 :(得分:3)
虽然您不能使用PropertyGroupDescriptor
,因为Type没有属性,您仍然可以创建一个执行该作业的组描述符。实现抽象GroupDescription
类,并使用GetType()
对其进行分组:
public class TypeGroupDescription : GroupDescription
{
public override object GroupNameFromItem(object item, int level, CultureInfo culture)
{
if (item == null)
return "";
return item.GetType().Name;
}
}