ObservableCollection本身是没有排序Sort功能的,不过我们可以通过冒泡排序来实现,以下是扩展功能:
public static void Sort<T>(this ObservableCollection<T> collection, IComparer<T> comparer) { if (collection == null || collection.Count == 0) return; int i, j; T index; for (i = 1; i < collection.Count; i++) { index = collection[i]; j = i; while ((j > 0) && (comparer.Compare(collection[j - 1], index) == 1)) { collection[j] = collection[j - 1]; j = j - 1; } collection[j] = index; } }