2011-10-01 106 views
1

任何一個可以請指導我這是最好的排序方式/過濾器觀察到的集合,並取回觀察到的集合不是IEnumerable的?如何排序/過濾器觀察到的集合,並取回觀察到的集合不是IEnumerable的

+0

那麼,你是如何排序現在可觀察的收集? – BoltClock

+0

@BoltClock:我現在沒有排序,因爲我對它沒有太多的想法。我發現OrderBy()方法,但它返回IEnumerable。 –

+0

@Richard:他可能在談論ObservableCollection。 –

回答

1

可能是那種你可以將其轉換爲一個列表,然後調用排序(),提供了一個比較委託。 。類似: -

my_collection.ToList()分類(?(左,右)=>左右== 0:(左>右-1:1));

+0

我需要ObservableCollection作爲回報,而不是List。 –

1

如果排序/過濾的結果是IEnumerable<T>那麼你可以創建另一個ObservableCollection並傳遞結果作爲參數來構造器

See this question

+0

但在這個例子中,它創造了新的觀察的集合,如果我給你我的收藏通過這種方式再通知事件將不會觸發綁定的源。 –

+0

@UpendraChaudhari你可以使用這個新的集合作爲數據源嗎?或者你想在排序時添加/刪除/移動你初始列表中的每一個元素,並通知你的UI呢? – username

+0

我無法再次綁定新的源,因爲我有大量的數據,它將需要太多的時間來綁定它。 –