2012-08-04 18 views
0

我願做自定義排序爲我ItemsSource,因爲我得到這個異常:自定義排序DataGrid中沒有的ListCollectionView

未能比較數組中的兩個元素。

這很明顯,因爲我使用轉換器類來顯示基於對象的正確值。該對象的類型爲object,可以包含多種類型,因此排序在此處不起作用。我去了互聯網,但唯一的解決方案是ListCollectionView,我的不是。這不會是一件壞事,除了其他CollectionView類沒有爲我們提供CustomSort屬性。

解決此問題的一種方法是使用DataGridTextColumn上的SortMemberPath屬性,但這遠非理想,因爲我需要爲顯示的每個屬性(使用轉換器)創建一個新屬性。這會導致不必要的混亂,並使我的課程看起來很糟糕。這個「解決方案」對我來說似乎也是一個完整的解決方案,我希望有一個更好的解決方案。唯一的問題是,我找不到它,有沒有人知道更好的方法?

回答

0

我認爲沒有簡單的方法通過使用DataGrid的CollectionView或OOTB功能進行排序。一種解決方案可能是對您綁定爲ItemsSource的列表進行排序。

+0

謝謝,這就是我認爲已經。 – 2012-08-05 09:33:22