Я предполагаю, что вы придерживаетесь подхода, аналогичного этому образцу MSDN . Если это так, то сортировка происходит на основе SortDescription представления коллекции. Пока исходная коллекция является наблюдаемой, порядок сортировки должен соблюдаться при добавлении или удалении элементов из коллекции.
Настоящая проблема возникает при изменении элемента после добавления в коллекцию. В этом случае коллекция не пересортируется автоматически.
Я подробно объясняю проблему в «E» для Editable Collection (в моей серии ItemsControl A to Z ). Я также представлю несколько обходных путей, которые предлагают различные уровни производительности. Наиболее радикальным является принудительная повторная сортировка всей коллекции путем вызова функции Refresh () для CollectionView. Если возможно, я бы избегал этого и использовал бы лучший вариант, например, реализацию IEditableObject для ваших элементов и выполнение Edit (), а затем Commit () всякий раз, когда свойства элемента изменяются.