Вы можете использовать метод расширения LINQ OrderBy:
GridItemCollection items = (GridItemCollection)Session["driveLayout"];
var sortedItems = items.OfType<GridItem>().OrderBy(item => item.GridItems["VolumeGroup"].ToString().ToLower());
OfType () Преобразует IEnumerable в IEnumerable, где T - это тип, указанный в параметре type. Поскольку мы неявно знаем, что GridItemCollection является коллекцией элементов, типизированных GridItem, мы можем сделать это.
Получив IEnumerable, мы получаем доступ ко всем методам расширения LINQ, включая OrderBy, для которого в качестве параметра сортировки используется лямбда-выражение.