6

これは簡単なはずです、そして私はまだそれを自分で理解していないのが恥ずかしいです。wp7アプリのアイテムリストの順序を逆にしようとしています。リストはObservableCollectionです。system.linqを使用する場合、intellisenseを使用すると次のことが可能になります。myList.Reverse(); 、しかしこれはうまくいかないようです。私は何か間違ったことをしていますか、それとも私がこれを簡単に行うことができる他の方法がありますか?

前もって感謝します。

4

3 に答える 3

33

ReverseはIEnumerableを返し、コレクションを変更しません。コレクションを変更するには

collection = new ObservableCollection<YourType>(collection.Reverse());
于 2012-07-10T23:05:39.800 に答える
4

コレクションを再作成したくない場合:

for (int i = 0; i < collection.Count; i++)
  collection.Move(collection.Count - 1, i);
于 2015-03-07T20:36:17.170 に答える
0

(Tの)observablecollectionを継承するクラスを作成し、その中にsortオブジェクトを実装します。これは、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
于 2012-07-10T22:31:41.320 に答える