2013-12-16 23 views
1

我有一個列表框綁定到ViewModel上的ObservableCollection屬性。 ObservableCollection充滿了不同類型的對象。按對象類型分組的WPF列表框

然後,我使用不同的DataTemplates來根據它們的類型以不同的方式繪製ListboxItems。

我想添加一些分組,以便我可以根據它們的類型將標題放入每個對象組的列表框中。我很喜歡使用CollectionViewSource來處理這些事情,但我不知道如何將對象的類型分組。

任何人有任何想法?

回答

3

雖然由於Type沒有屬性,所以不能使用PropertyGroupDescriptor,但仍然可以創建一個可完成此任務的組描述符。實現抽象GroupDescription類,並讓它使用組GetType()

public class TypeGroupDescription : GroupDescription 
{ 
    public override object GroupNameFromItem(object item, int level, CultureInfo culture) 
    { 
     if (item == null) 
      return ""; 
     return item.GetType().Name; 
    } 
} 
+0

這工作魅力 - 歡呼聲。我只需要重寫該方法。 – Drammy