這一個應該很容易,我很害羞,我還沒有想出它自己呢。 我試圖扭轉我的wp7應用程序中的項目列表的順序。該列表是一個ObservableCollection。 使用system.linq時,intellisense讓我這樣做:myList.Reverse(); ,但這似乎並不奏效。我做錯了什麼,或者有其他方式可以輕鬆做到嗎?顛倒ObservableCollection <objectType>使用linq
在此先感謝。
這一個應該很容易,我很害羞,我還沒有想出它自己呢。 我試圖扭轉我的wp7應用程序中的項目列表的順序。該列表是一個ObservableCollection。 使用system.linq時,intellisense讓我這樣做:myList.Reverse(); ,但這似乎並不奏效。我做錯了什麼,或者有其他方式可以輕鬆做到嗎?顛倒ObservableCollection <objectType>使用linq
在此先感謝。
Reverse返回一個IEnumerable,它不修改該集合。要修改你可以做
collection = new ObservableCollection<YourType>(collection.Reverse());
這就是我尋找的解決方案。它的功能就像一個魅力。謝謝! – 2012-07-11 04:49:17
這是如何工作的,當收集是一個ObservableCollection?那個班沒有反向...?至少,這是我嘗試這樣做時得到的信息。 – Erik 2015-04-25 08:55:30
Reverse是System.Linq.Enumerable類中的擴展方法。爲System.Linq添加using語句; – 2015-04-26 01:56:13
創建一個繼承observablecollection(T)的類並在其中實現一個排序對象。這是這樣做的vb.net蠻力方式:
Public Sub Sort(ByVal comparer As IComparer(Of T))
Dim j As Integer
Dim index As T
For i As Integer = 1 To Count - 1
index = Me(i)
j = i
While (j > 0) AndAlso (comparer.Compare(Me(j - 1), index) = 1)
Me(j) = Me(j - 1)
j = j - 1
End While
Me(j) = index
Next
End Sub
集合如果不想重新集合:
for (int i = 0; i < collection.Count; i++)
collection.Move(collection.Count - 1, i);
「似乎不工作」,怎麼樣?你的意思是用戶界面不顯示相反順序的項目? – user7116 2012-07-10 22:17:57
相關的問題,但不一定是重複的http://stackoverflow.com/questions/10413535/reverse-order-of-observablecollection – user7116 2012-07-10 22:22:46