Я не могу говорить за silverlight, но общая практика .NET будет выглядеть следующим образом:
var groupings = mySortedString.GroupBy(x => x.Substring(0,1));
Это дает IEnumerable<IGrouping<string, string>>
, после чего вы привязываете этот список к вашему списку.
Отсюда вам придется придумать XAML, чтобы представить его так, как вы хотите, но это сгруппировало бы все ваши элементы.
Примечание: IGrouping<,>
реализует IEnumerable<>
, так что вы можете перечислить его для его элементов.