Расширение .OrderBy возвращает IEnumerable, который вызывает вашу проблему.Попытка сортировки в получателе также несколько плоха.
Я бы хотел обернуть вашу наблюдаемую коллекцию с помощью ICollectionView
Т.е.
public ICollectionView Stocks { get; private set; }
private readonly ObservableCollection<Stock> stocks;
Конструктор
stocks = new ObservableCollection<Stock>();
Stocks = CollectionViewSource.GetDefaultView(stocks);
Stocks.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
Где «Имя» - это имя свойства класса Акции, по которому вы хотите отсортировать.
Когда вы добавляете в наблюдаемую коллекцию «акции», «Акции»'ICollectionView будет обновлен, и ваш вид отобразит элементы в отсортированном порядке.