У меня есть список, который содержит 20-50 элементов. Все элементы должны сортироваться по уникальному идентификатору. После применения сортировки мой список прокручивается вверху. Как это предотвратить? Сортировать функцияКак сохранить позицию listboxitem при добавлении/удалении элементов?
public static void Sort<TSource, TValue>(IList<TSource> source, Func<TSource, TValue> selector) {
for (int i = source.Count - 1; i >= 0; i--) {
for (int j = 1; j <= i; j++) {
TSource o1 = source.ElementAt(j - 1);
TSource o2 = source.ElementAt(j);
TValue x = selector(o1);
TValue y = selector(o2);
var comparer = Comparer<TValue>.Default;
if (comparer.Compare(x, y) > 0) {
source.Remove(o1);
source.Insert(j, o1);
}
}
}
}
Вам использовать ScollIntoView (пункт), если вы нашли нужный элемент. Или получить ActualHeight из ScrollViewer –